New PHP 5.3 Frameworks

Sometimes its nice to keep your eyes on new technology, not necessarily, because you want to adopt the latest technology, as soon as its available, but more because you want to be aware of the latest and greatest.

PHP frameworks have been around for a many years now, and new ones are continually appearing. Developer's always think they can build a better mousetrap. Some developer's build new frameworks, because their previous framework has fallen out of favor or lacks performance, others want to build a framework based on the latest technology, feeling that this will lead to mass adoption. And finally, there's a group that feels they just have a better idea.

I thought it might be helpful to take a quick glance at new frameworks on the horizon. To do this, I had three key requirements, that separated the wheat from the chaff, so to speak. The framework had to require the latest version of PHP, 5.3 or higher, it must be open-source, and the framework had not yet been officially 1.0 released.

PHP 5.3 was first released on June 30, 2009, with the latest version 5.3.4, released on December 9, 2010. It's new features include: namespaces, closures, and late static binding. PHP 6.0 has been canceled, for the time being, mostly because of problems related to Unicode support, and increasing bit sizes throughout PHP.

To build a framework, with PHP 5.3 required, means it had to be started, at the least, after June 2009, this a reasonable way to separate new frameworks from old. Bear in mind, for you early adopters, some Linux distros, currently, still do not support PHP 5.3. Without further preamble, here's my list of new up and coming frameworks.

Let's start with Zend 2.0. The folks at Zend want to improve their current framework. The existing framework is often thought of as slow, being difficult to learn, and just a library of functionality. There is a need to upgrade the existing framework. The goals for this new version will be: improved performance, easier to learn, easy extensibility, better unit testing, load just what's needed, and use the latest features of PHP 5.3. It looks like this project started last quarter, so they have a ways to go.

Symfony2, contrary to popular belief, is not released yet, but it's close. It is projected for March 2011. It will only support PHP 5.3.2 and up. There have already been benchmarks run on the pre-release versions, and yes, it's faster than the previous slow Symfony 1.x series. It's not quite as fast as they claim though, see my article on, "PHP Framework Benchmarks."   The Symfony folks are excellent at marketing, if you have a pet feature your looking for, you'll probably find it mentioned in the Symfony2 marketing. This appears to be a big framework. We will reserve judgment until we have a chance to do a more detailed review.

The above two frameworks fit into the update of old frameworks category, let's move on to brand new frameworks.

Flow3 is currently in alpha. This framework was created by the Typo3 CMS folks. They wanted to create a new foundation framework for their next generation CMS system. The framework is stand-alone and offers a new "view" on the how of software development. They support agile development, Domain-Driven Design and Unit Test. The framework offers Aspect-Oriented programming , Object Management, a Persistence Framework, a Package or extension manager, and Resource manager. Look for this sometime in 2011.

Hydrogen is just getting started at alpha 0.2.5 released in September. They bill themselves as "nice" coders, i.e. friendly to the novice. They also bill themselves as a toolkit for PHP 5.3 with the ability to take over MVC layers, if you want. They use multiple caching engines, protection from web server overload, flexible query builder, multiple database support, a query transition system, an improved ORM structure allowing switching between types of databases, a Dispatcher controller class, integrated configuration, logging and error handling. They are planning a template engine using a multiple inheritance model.

Lithium bills itself as the most rad PHP framework that is lightweight, fast, and flexible. It features distributed storage and caching, queuing systems, micro-dispatch frameworks, with integrated support of document oriented databases, i.e. CouchDB and MongoDB, along with standard relational databases. It is a full-stack framework that focuses on rapid development. Lithium has integrated Unit Testing, Aspect Inspired Filter System, Automatic output escaping, extensible plug-in support, and static models with object-oriented results. I went to a presentation where the speaker raved about a MongoDB with Lithium installation for a high transaction ecommerce site. Lithium is currently in alpha at release 0.9.9.

Fat-Free is a lightweight, as in a 55KB framework, that has an template engine, flexible cache, automatic spam protection, integrated unit test, and code profiler. It has optional and expendable plug-ins.

Sonic's claim is like every framework, speed. It claims to be faster than DooPHP by 15% and Zend by 800%. It has an implementation of Facebook's Big Pipe.

There are other frameworks out there that do not meet the above requirements, that are fairly new, you might want to be aware of: PeecFw, who's strategy is to incorporate other "best of" packages;   Recess, the RESTful PHP framework;  and the Nette Framework, features debug tools and generating HTML code, and management of web forms.

And as always, I'm missed a couple, some on purpose, others because of one thing or another, we'll get them next time.  Of the above bunch, I think the more interesting frameworks that I would want to take a closer look at are:  Lithium, probably the most interesting, followed by Flow3, and then Hydrogen, after it gets further along.

Comments

New PHP 5.3 Frameworks — 3 Comments

  1. Fat Free Rules!
    Used it for a year…don’t really enjoy looking at other frameworks afterwards…

    So easy to learn and make plugins for…

    • According to the Codeigniter web site, Codeigniter is officially at version 1.73 which includes support for PHP 4. The unofficial version, or pre-release version 2.0, is available for download, but it is not the official release. When Codeigniter 2.0 is officially released, PHP 5 and PHP 4 will be supported, but PHP 4 will be deprecated. The official release of Codeigniter 2.1 will mark the PHP 5 only version of Codeigniter with PHP 4 support removed.
      Now, this may change over the next month, as the Reactor Team starts to make announcements. At this writing, PHP 4 is still in the Codeigniter 1.73 release. Bear in mind, that Ellis Lab still may have many sites running their Expression Engine on top of PHP 4, and they cannot afford to shut down these sites without a lot of warnings, which is what they are doing now.