PHP Frameworks - Comparison page
Table of contents :
Why use a PHP framework?
If you’ve asked yourself the question why you should use a
PHP framework, then you probably know that there’s more than one way to create a PHP application. Of course, every programmer knows the old, proven, plain PHP programming approach. But do you have to lose time developing one and the same functionality from scratch every time you start a new PHP project? Answering the demands of many programmers who want to concentrate on the functionality of the very application they are working on, instead of elaborating on one and the same login forms and database connections, we are now offering a large number of PHP frameworks.
So many frameworks - What is the difference?
Each framework offers different methods for facilitating the programming process and for automating the routine operations. Most PHP frameworks offer the so-called MVC architecture. Using the advantages of the Model-View-Controller pattern, these frameworks separate the application into different elements (models, views, controllers), rendering the development process much easier. Among the most popular MVC-based PHP frameworks are all Ruby-on-Rails clones, among them
CakePHP,
CodeIgniter,
Akelos,
ZooP,
Prado and
Symfony. Although the
Zend PHP Framework also lays claim to being an MVC-based framework, it represents an extended set of PHP libraries rather than a real framework. In spite of this, the Zend PHP framework can be successfully integrated and used with most of the offered PHP frameworks.
Beside the MVC-based frameworks, there also exist the so-called RAD (Rapid Application Development) frameworks. An example of this type of frameworks is PHPDevShell, which is a PHP application offering a set of login form, navigation, e-mail, and database connection plugins.
Beside the type of architecture they are offering, the PHP frameworks differ in many other aspects. While certain modern PHP frameworks support only the latest
PHP version -
PHP5, there are others that offer support for
PHP4. On the other hand, some PHP frameworks offer full or partial Ajax and
XML integration support, whereas others don't. Also, while the code written with certain PHP frameworks is independent of the type of
database used, there are frameworks offering support only for specific database types.
Compare the most popular PHP frameworks
So that the clients of NTC's optimized
web hosting can get better acquainted with the features offered by some of the most widely used PHP frameworks, we present to you the following comparative table.
| PHP Framework |
Akelos |
CakePHP |
CodeIgniter |
PHPDevShell |
Prado |
Symfony |
Zend |
ZooP |
| PHP4 |
|
|
|
|
|
|
|
|
| PHP5 |
|
|
|
|
|
|
|
|
| Architecture |
MVC |
MVC |
MVC |
RAD |
MVC |
MVC |
MVC |
MVC |
| Multiple DB's |
|
|
|
|
|
|
|
|
| Object Record Mapper |
|
|
|
|
|
|
|
|
| DB Objects |
|
|
|
|
|
|
|
|
| Templates |
|
|
|
|
|
|
|
|
| Caching |
|
|
|
|
|
|
|
|
| Validation |
|
|
|
|
|
|
|
|
| Ajax |
|
|
|
|
|
|
|
|
| Auth Module |
|
|
|
|
|
|
|
|
| Modules |
|
|
|
|
|
|
|
|
| EDP |
|
|
|
|
|
|
|
|
PHP4: Shows whether the framework supports PHP4.
PHP5: Shows whether the framework supports PHP5.
Architecture: Shows whether the framework supports MVC or RAD.
Multiple DB's: Shows whether the framework supports multiple databases.
Object Record Mapper: Shows whether the framework supports Object Record Mapper, an ActiveRecord implementation.
DB Objects: Shows whether the framework contains other database objects, such as TableGateWay.
Templates: Shows whether the framework has an inbuilt template engine.
Caching: Shows whether the framework contains a caching object.
Validation: Shows whether the framework has an inbuilt validation or filtering component.
Ajax: Shows whether the framework supports Ajax.
Auth Module: Shows whether the framework has an inbuilt module for handling user authentication.
Modules: Shows whether the framework has other modules, such as an RSS feed parser or a PDF module.
EDP: Event Driven Programming