Answer the question
In order to leave comments, you need to log in
What does it mean to know a framework well?
I had little experience with Yii1, but now I have begun to study Yii2 and I plan to study Symfony and Laravel (if there is enough time, because there are six months free, but I wrote about this below). I study according to the documentation on the site and according to the source codes (I started with the base classes and I'm moving forward). The source code is much clearer and more interesting.
But I have never taken a job where knowledge of the framework was required, so I don’t understand what it means to know the framework well. Concepts, patterns and general points are clear, but there are many different little things in the framework. For example, Yii2 has more than 100 classes and more than 1000 methods in them (in total). So far, I have studied 14 classes from start to finish, i.e. in fact, I remember the code of any method and all properties, and I perfectly understand the work of these classes. I can write these classes from scratch almost 1 in 1.
But how much such immersion is necessary? Isn't this redundant? What does "know the framework well" mean? What do they look for during an interview in this regard?
For example, in Yii2, controllers are quite functional (not even talking about splitting into console/web). A programmer who knows the framework well should know all such functionality or only the main part, and learn the rest if necessary?
Answer the question
In order to leave comments, you need to log in
Knowing a framework well is a rather subjective concept, and each person can put their own meaning into it. If you are planning to look for a job with an emphasis on the frameworks you are
studying, I think it will be enough for you: it's a pointless job, frameworks are constantly evolving and modifying. For example, you should know what DI is, how it is organized in a framework, and how to work with it. But you don't need to know the code thoroughly.
2. Reading documentation is good, but practice is always needed. You don't just have to know the framework from the documentation, you have to have experience with it. Alternatively, you can come up with some kind of test project for yourself and implement it.
3. Patterns, architectural principles, etc. are also important, if you know them - then this is a plus.
4. DBMS. For most projects, databases are used, so in addition to the framework, you should also be well versed in them, be able to write complex queries, design them, etc.
this means that when you were told that a feature was washed down, you don’t sit around racking your brains and studying other people’s examples, sawing crutches, asking on this forum, but you do it yourself knowing which modules to use and how, you know the manual so much that you don’t need tips like “how can I make such and such a shnyaga?”, you just know that it can be done this way and that way in two or three ways, you just need to look at the manual page to peep the syntax of the functions.
Quite simply, knowing well means knowing WHAT to google to solve a problem. Teach him - but what the hell? it will become obsolete in a year, then there will be a hundred others, even more fashionable.
I will say not according to the framework ... but the principle is the same everywhere. This is what unites all the Masters of their craft. To know well means to know the base in detail, to understand how it all works and, on the basis of accumulated experience, to solve the tasks set, quickly finding the points of minimal impact.
it's just stupid to study classes - there is no point, you need to sit down and solve some problems. And besides the framework itself, there are usually at least 5-10 must-have extensions from the community, which are also worth checking out.
You need to understand the lifecycle of the framework - walk with xdebug through the stack of rendering a simple page.
Understand the principles of routing, request processing, configuration, authorization. DI, events. And immediately put into practice. Yii2 is not a simple framework for the first acquaintance with frameworks in principle, although it has a fairly low entry threshold, but it has many specific goodies, after which it can be harder to switch to other frameworks - in particular, widgets, behaviors, and the very specifics of the configuration of components with magic
Согласен с Максим Федоров.
Я бы не стал изучать каждый класс ради понимания реализации. Проблема этого метода в том что фреймворки обновляются быстрее чем успеваешь их изучать.
"Все книги не перечитаешь".
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question