Today's web developer must be well-equipped in order to fully harness the enormous horsepower and features at his disposal, not to mention satisfy the tastes of an increasingly finicky user. While taking advantage of a powerful development environment such as NetBeans
certainly helps, it's also imperative to embrace sound practices that ensure high quality, testable code written with a minimum investment of time and effort.
Because these challenges are universally faced among the web development community, several projects known as frameworks have gained a considerable following thanks to their ability to abstract away commonplace tasks such as data validation and database and web services integration, not to mention SEO, template management, and a testing.
In this article, I'll introduce you to five frameworks that are transforming the way today's PHP developers go about building web sites. If you haven't yet explored framework-based development, I invite you to use this list as a starting point for learning more about what's possible. Rather than simply list the five frameworks that have managed to gain the most mindshare amongst the PHP community, I instead try to highlight at least one feature that differentiates each framework from the other solutions.
In many ways, CakePHP
acted as the trailblazer for modern framework development within the PHP community, with the project founded back in 2005 on the heels of Ruby on Rails
. In fact, having borrowed many of Rails' most compelling features, CakePHP is often erroneously referred to as "Rails for PHP," despite the project having long since taken on a life of its own.
One of CakePHP's most powerful advantages is a lively community who actively contribute not only tutorials, components, and other features through the Bakery
, but also open source CakePHP-based projects through the Cake Forge
, which as of this date hosts more than 240 open source applications. Sporting an impressive portfolio of deployments, among them The Miss Universe Pageant
, MIT's Scratch
, and The Mozilla Foundation's enormous Firefox Add-ons
site, CakePHP is clearly worth considering no matter how ambitious your project may be.
Of the five frameworks introduced in this article, none hails from a more interesting background than CodeIgniter
. With the first version dubbed "pMachine" back in 2001 by creator Rick Ellis, the software was first put to use powering none other than Nancy Sinatra's web site. Subsequently redubbed CodeIgniter in 2006, the framework is now used as the foundation for the popular ExpressionEngine
content management system.
With both the CodeIgniter and ExpressionEngine projects fostered by Ellis' namesake company EllisLab
, the CodeIgniter team seem to have taken a particularly practical approach to framework development. Stressing a simple templating paradigm and practical native features such as shopping cart, benchmarking, email, database, and image manipulation classes, CodeIgniter is a no-nonsense framework solution capable of accomplishing great things with little fanfare.
In what has clearly become a crowded space, any emerging framework would have to differentiate itself in some significant way in order to stand out among the competition. The DooPHP
developers are clearly cognizant of the need for a bold marketing message, proclaiming DooPHP to be "one of the fastest, if not the fastest PHP framework available." To support these claims, they've even posted a benchmark comparing DooPHP performance with several other frameworks, CakePHP and CodeIgniter included.
Perusing the DooPHP documentation, it's clear that performance is a foremost goal, with the code required to create a basic web site supporting central configuration, database integration, custom routing, and templatesall incredibly compact yet easy to understand. Check out the well-written Definitive Guide to DooPHP
for a concise introduction to the framework's basic features. In fact, DooPHP's particular approach seems remarkably well suited to developers having experience with the Zend Framework
, making it a worthy candidate for Zend Framework users who are looking for a lightweight alternative for specific projects.