1.4. Comparing PHP MVC Frameworks

When you look at CodeIgniter, Symfony, and CakePHP, you'll notice quite a few similarities. For example, all three:

  • Allow you to create models that bind to a data source, views that display content, and controllers that monitor user action and allow updates of models and views.

  • Use structured folders to separate your application's components from a central core.

  • Use configuration files to help you maintain vital metadata, such as the location of the database, base URLs, and the like.

  • Use controller callback functions that are surfaced to the GUI. If the user clicks on a link that opens /post/view/3, then the view() callback function in the post controller is called, with the ID of 3 passed to the model for data retrieval.

  • Allow you to extend the core code and build your own libraries and helper functions.

The next few sections provide an extremely concise summary of the differences between CodeIgniter, CakePHP, and Symfony. The intent here is not to list every single difference among them, nor to proclaim that any one MVC framework is better than the others. The intent is to discuss the differences briefly, thereby giving you a more realistic appraisal of where CodeIgniter fits into the scheme of MVC thinking.

1.4.1. Making Life Easier for the Developer

CakePHP's automatic approach allows the developer to create web applications quickly. For example, the automation allows a model to map easily to a database table. If you don't really care how things ...

Get Professional CodeIgniter® now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.