What to get from Zend Framework learning?
Context is important for this question. So context first. I learned Symfony 3 years back and did not used it. Now, it looks it is out from job market. I did not say I have learned much to use that knowledge later in life except that chained style of calling method on object. That I saw first time there ( $obj->test()->that()).
Now, I think I should learn Zend Framework as this is in demand. So, for job point of view it is good to learn it otherwise I do not see the use of it. It takes lots of time to learn a framework and in return it gives lots of command to remember. About MVC, I know MVC and I will learn much of it when I implement 开发者_运维知识库it myself. Here it is forced. Ok. good my app will be good because of MVC. But what else I will get just from learning it other than I will be prepared for Job market.
Can I learn something good from learning Framework for use in any projects (other than just able to work on Zend Framework) that can be helpful for a good programmer, tech person etc.? Where do I concentrate on Zend Framework to get advantage of its learning . How this can increase my real knowledge/php knowledge?
Zend Framework uses alot of concepts seen elsewhere. MVC, Front Controller Pattern, Registry Pattern, Two Step View, Adapter pattern to name a few. It's also a component framework, which means you can (re)use elements of the framework in your projects (for example, using Zend_Cache in a project which does not use Zend Framework).
You don't learn much from using a framework like Zend. That's because they try to keep it simple and hide the tricky parts from you. They don't want the user to learn something sophisticated and that's fine.
You will learn much more by writing a MVC framework, or parts of it by yourself and then look around how other frameworks solved the problems you had (or have). However, this is not much worth if you don't actually use your framework in a real life situation. IRL you will run into more problems that will actually boost your knowledge.
My suggestion is to write some components yourself. i.e. FrontController, Active Record or Router. Use them in small projects, see how they perform and then compare to other solutions.
Btw, I think learning test driven development is much more worth then learning another framework. (Just in case you don't do TDD)
As opposed to c0rnh0li0, I think that you can learn much from ZF. Much more (and much faster) then by trial and error on your own framework. The point is that ZF is sensitively crafted. It's build to deal with common problems. And by learning the ZF's internals you will see the best possible way to do things (with some exceptions).
But I have to agree, that learning TDD is better skill ;)
精彩评论