Do you need to have a very good knowledge of PHP before diving into frameworks (like Zend, CakePHP)? Do you need to have a very good knowledge of PHP before diving into frameworks (like Zend, CakePHP)? codeigniter codeigniter

Do you need to have a very good knowledge of PHP before diving into frameworks (like Zend, CakePHP)?


NO.

Your learning curve may be a little steeper, but you can start learning PHP frameworks without extensive knowledge of PHP. With every programming language, knowing the syntax is not enough, you need to work with the language to be proficient with it.

Every framework has it's own way of working in it and it is different then working without framework. Choose the framework which suits you better. Be sure that the framework has good documentation and community support so you can ask for help if you get stuck with something that you don't understand / know.


I would actually recommend you stop toiling around in plain PHP and just get a framework. I a TON of questions from people asking "how do I connect to mysql", "How do I upload a file to PHP"...

The whole time I keep thinking, if you used a framework, you wouldn't need to ask, as most support active queries which don't even require knowledge of SQL to get going, you do things like pseudo SQL, it creates the connection (troubleshooting/debug) for your requests.

Personally I use codeigniter (superb documentation, small footprint, and easy to use). So you can take a look at that, it supports sparks which makes it even easier to get plugins.


I think the best about some PHP frameworks is that you can learn a lot about "best practices" as you use them, including:

  • OO design patterns (most notably MVC)
  • the DRY principle
  • unit testing
  • Good code style
  • ...

This has been the case for the two frameworks I've worked with, Zend Framework and Symfony. But I already had some previous experience with "plain PHP", so maybe I was already a bit biased.