There are many great PHP frameworks availible, but if we limit our view to just three, I think we can get a good idea of what they have in common, and what makes each special. These are not the best or the only PHP MVC frameworks, but simply a good cross-section of the different approaches to PHP MVC development. CodeIgniterCodeIgniter is the first and simplest of the frameworks we will be looking into. It is developed and maintained by EllisLab and can be described as an open source (though, tightly controlled) framework that forms the base for EllisLab’s premium CMS (Content Management System) ExpressionEngine. It has been around for ages, yet its ideals have changed very little in all the years since first I used it. It strives to maintain a tiny footprint, excellent developer documentation, and high code quality. It does not enjoy the same levels of popularity as some of the other frameworks we will talk about, and this is partly due to how EllisLab has managed the CodeIgniter community. They have recently begun to address this issue with new conferences and staff, and things are looking up for this framework.It has also inspired other frameworks, giving birth to projects such as KohanaPHP. You can download CodeIgniter at http://codeigniter.com. You can also learn more about EllisLab and ExpressionEngine at http://ellislab.com. Finally, you can learn more about KohanaPHP at http://kohanaframework.org. Zend FrameworkZend Framework is an extensive collection of loosely coupled code libraries that can form the basis of an MVC architecture. Zend Framework takes quite a bit of effort to understand and master relative to other popular MVC frameworks. It is developed by Zend Technologies and enjoys all the benefits of a large, stable community and wide adoption. Whereas frameworks like CodeIgniter strive to be lightweight, favoring just the essentials, Zend Framework includes libraries that help developers utilize a wide range of third-party services and APIs. You can download Zend Framework at http://framework.zend.com. You can also learn more about Zend at http://zend.com. CakePHPCakePHP is arguably the most popular of the three frameworks. Unlike the previous two frameworks, it is not governed by any one corporate entity. It has a large community and is widely adopted. It favors convention over configuration, which means a lot of the finer details are assumed and automated.This is apparent in every area of the framework, and you will often find yourself wondering how CakePHP is doing something you didn’t ask it to do, both good and bad. This means you can develop an application quickly, but also that you might have a hard time when you need to make very specific changes.This is even seen in the code-generation command-line tool: Bake. Within minutes, it can generate a working application, just by following command-line prompts and filling in the blanks with default parameters and behaviors. You can download CakePHP at http://cakephp.org.