I have been looking around for a good PHP MVC Framework. As of now, there are 3 frameworks that caught my attention. Symfony Project, CakePHP and CodeIgniter.
Symfony – symfony-project.com
I have read that Symfony is powerful, has good documentation and an active community. I have downloaded but gave up after a few days of trying to make it work. The learning curve is steep. The download is also huge. I shall give this another shot when I have more time. Btw, Yahoo Bookmarks uses Symfony.
Cake – cakephp.org
A friend recommended this framework to me. CakePHP claims to be the easiest to use – As easy as cake. Cake has Layouts, which I assume that you’ll have just to edit/modify a layout file for your controllers.
Code Igniter – codeigniter.com
Good documentation, not bloated and easy to use (i have seen the screencast and i got impressed). I have been to their forums and the community is very active and very friendly to newbies. Altought it doesn’t have layouts (i think), I’m pretty sure that there is another way to do it with Code Igniter. Also, I am not bothered by the lack of table associations since conjuring up a good SQL query would always work.
What is an MVC Framework?
Model-view-controller (MVC) is a design pattern used in software engineering. In complex computer applications that present lots of data to the user, one often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface do not impact the data handling, and that the data can be reorganized without changing the user interface. The model-view-controller design pattern solves this problem by decoupling data access and business logic from data presentation and user interaction, by introducing an intermediate component: the controller.