PHP application frameworks

If you’re developing more and more web applications in PHP, you will find that a lot of things tend to come back every time. Somehow, I find myself designing forms and programming form handlers to put stuff in databases all the time.

Between doing it all yourself and using a WYSIWYG content management system, there is also the option of reuseable code. Lots of code (usually in classes) has been written and made available to the community as free software. The PHP Classes Repository for example, has a large collection of freely downloadable classes.

However, if you’re building larger applications, you want all this code to work together. For example, your form handler should know how to use your database abstraction code. That’s where application frameworks come in. I have looked at a few of those.

First, I’ll mention a few that are installable through PEAR, using channels.

Cerebral Cortex
PHP5-only. Uses PHP Data Object (PDO).

PHP Application Tools
Looks nice, has some interesting features, like a BBcode parser.

This has been around for quite a few years, and some well-known applications have been built on top of it. Unfortunately, I couldn’t get a clear view of its capabilities just from looking at its website.

This looks very nice too! Uses PEAR, seems quite feature-rich and the API documentation looks good! Seagull is more than a framework, it is also a CMS and it creates 33 database tables to start with. Maybe a little overkill.

“Similar to PEAR, Similar to Horde”, but based entirely on PHP5. Is supposed to run cleanly under E_STRICT.

Form validation, pagination, authentication, templating and more.

The Others:

Unfortunately, this doesn’t run on PHP5 (yet).

PAS Application Server for PHP
Looks interesting, but is very database-oriented en doesn’t have classes that deal with logging, sessions, etc.

Looks like it could be what I’m looking for, but the open source version lacks some important features and the “enterprise” version is quite expensive.

Roadsend Site Manager
This look really nice and looks like the best shot so far. Forms, database, sessions, authentication… it’s all there. And it uses PEAR.

This PHP5-only “event-driven” and “component-based” framework was the winner of the 2004 Zend Coding Contenst. Its design is based on RAD tools like Delphi and Visual Basic.

Looks nice, with quite a lot of features. Unfortunately, the API docs are in Portugese.

Ismo PHP Framework
As a “spare time project”, with current version 0.1.4, released mid-2004, this seems dead as a doornail. It does have some of the wanted features though.

Focused on the Model-View-Controller design pattern. Project seems dead.

“DotPHP want be like ASP.NET.” Is that good? It’s Engrish! I think the idea is much like Prado’s, but Prado looks much more solid.

Achievo ATK
This looks like it’s got a lot of features too. ATK is about minimizing the amount of user-code. Application code is generated from the toolkit. Sometimes compared to Ruby on Rails.

Fusebox for PHP
“Fusebox is, by far, the most popular and mature web framework available for ColdFusion and PHP developers”. Well, aren’t they all? I couldn’t get a good idea of its features from the website, and the examples are mostly based on ColdFusion.

For your convenience, I included a Google search for “PHP application framework”.