Hello, I am more into marketing and managing aspects of my company. I am very good with Microsoft programming languages, such as VB, C# and the .Net Frameworks, but I am looking to do more with PHP Personally. I know there are alot of Frameworks out there (Zend, CakePHP, CodeIgnitor, Symfony, etc) and I am wanting to know which is the better one to learn and get to understand and work with the most. The reason I am asking this is we are going to be doing a brand new CMS based on one of these frameworks and we need it to perform really easy. So I want to get everyones views on these frameworks based on the following criterias: Functionality Amount of Support/Functions/Open Source Code Light Weight (For Quick Processes and Speed) Easies to Learn and Impliment Best IDE
Get into CodeIgnitor. Open Source, Easy to learn , OOP code with Clearly documented, great support from CI forum members & staff, speed is better than other PHP frameworks, works fine with Eclipse PHP IDE.
Everyone that answers this is going to have a different opinion. I have used all 4, and I still stick with Symfony, although I did start with it so I am definitely a bit biased. Zend is the most used at this point. Of all the frameworks, I think it is the least like a framework and more like a bunch of modular chunks of code. Zend components can usually be used outside of Zend in other non-framework products. This can be a good thing, and it can be confusing and overly complicated. It is also so loose that 2 people can use the framework and their code and logic never resemble the others. As far a corporate / business usage, Zend rules for sure. Magento is also build on Zend which is probably the most developed shopping cart out there. If you want a fail safe, Zend would be the way to go. As far as the other 3, they are all fairly similar in their internals, at least when comparing to Zend. All are true MVC and all allow for ORM usage. I can't think of any functional advantage that any framework would have over the other. These wouldn't be the most popular frameworks if they had anything missing. Symfony is most geared towards enterprise level apps. It's the number 2 used framework at this point. Has awesome functional and unit testing, and a ton of command line tools and generators for rapid testing and development. You can nearly make a database, and website only from configuration files. I personally manage my database and build the application around it. Baseline performance, Symfony 2 (still in dev) is going to be the fastest, followed by codeignitor, then Cake way in the rear. Symfony 1.4 and codeignitor will be right in the same area. In the end the performance will be dependent on caching, ORM usage, proper code organization, server resources, etc... They can all be tuned fairly well. I would use Netbeans IDE no matter what framework I developed with. Eclipse should be usable with any framework. Netbeans supports Symfony and Zend frameworks. Symfony and Codeignitor can use external ORM's, Doctrine being the most developed at this point, Cake is pretty much locked into their own. For this reason above any other, Cake goes out the window for me. At this point, there is quite a lot of support for all of these. They all have good documentation, user forms, books, etc.. It's hard to say which is easiest to learn / implement. All are going to have a learning curve. If you understand the MVC pattern, neither are going to be much more difficult than the other.