Tuesday, September 4, 2007

Taking a look at ten different PHP frameworks

Introduction

PHP frameworks are the latest hot topic in the PHP community, and new frameworks are being released daily. With over 40 frameworks available it's difficult to decide which framework works best for you, especially as each framework offers different functionality.

In this article we will look at ten popular frameworks, and compare them to each other. First I will give you a general chart which gives you a quick overview of all the frameworks, and after that we'll go through each framework and discuss it in short.

A Quick Overview

Below you can view a chart of the ten frameworks, and what functionality each frameworks offers.

Framework PHP4 PHP5 MVC1 Multiple DB's2 ORM3 DB Objects4 Templates5 Caching6 Validation7 Ajax8 Auth Module9 Modules10
Zend Framework - YES YES YES - YES - YES YES - - YES
CakePHP YES YES YES YES YES YES - YES YES YES YES -
Symfony Project - YES YES YES YES YES - YES YES YES YES -
Seagull Framework YES YES YES YES YES YES YES YES YES - YES YES
WACT YES YES YES YES - YES YES - YES - - -
Prado - YES - YES - - YES YES YES YES YES YES
PHP on TRAX - YES YES YES YES YES - - YES YES - -
ZooP Framework YES YES YES YES - YES YES YES YES YES YES YES
eZ Components - YES - YES - YES YES YES YES - - YES
CodeIgniter YES YES YES YES - YES YES YES YES - - YES
#1: Indicates whether the framework comes with inbuilt support for a Model-View-Controller setup.
#2: Indicates whether the framework supports multiple databases without having to change anything.
#3: Indicates whether the framework supports an object-record mapper, usually an implementation of ActiveRecord.

#4: Indicates whether the framework includes other database objects, like a TableGateWay.
#5: Indicates whether the framework has an inbuilt template engine.
#6: Indicates whether the framework includes a caching object or some way other way of caching.
#7: Indicates whether the framework has an inbuilt validation or filtering component.
#8: Indicates whether the framework comes with inbuilt support for Ajax.
#9: Indicates whether the framework has an inbuilt module for handling user authentication.

#10: Indicates whether the framework has other modules, like an RSS feed parser, PDF module or anything else (useful).

Click here to open the chart in a new window

If anything in the above chart is incorrect, please let me know so I can correct it.

No comments:

About Me

Ordinary People that spend much time in the box
Powered By Blogger