MVC Frameworks for PHP
Tuesday, May 27th, 2008
MVC is all the rave these days with excellent toolkits for all languages that help to define good structure for long term projects and maintenance. From Django (Python), to Rails (Ruby), Spring (Java), Maverick or Microsoft MVC (.NET/C#/Mono) and last but not least PHP MVC Frameworks.
PHP gets alot of heat mainly because it is critical mass and when that happens mediocrity comes in but since PHP5, PHP has really grown to be a great web development toolkit with many frameworks to choose from. But which one do you choose for your development? Do you want an MVC, or do you want to piece together an MVC from a template library, model framework and custom controller?
Well if you want to pick an MVC there are some great ones.
There is a site that has a decent ranking that is similar to my own likings in PHP frameworks that lists them like this:
1 Akelos (avg: 4.4)
2 PHPDevShell (avg: 4.3)
3 Symfony Project (avg: 4.3)
4 CodeIgniter (avg: 4.3)
5 Prado (avg: 4.1)
6 ZooP (avg: 4)
7 CakePHP (avg: 3.9)
8 Zend (avg: 3.4)
9 QPHP (avg: 3)
I have not used QPHP, Zoop, Prado or PHPDevShell but plan on doing reviews of all of them. I have a simple application that i will be building in the latest versions of each platform to help show highlights, pros, cons and the ins and outs of each.
Why? And why PHP? I have long been a developer of web sites and applications. Until around 2005 PHP was not accepted in enterprisey, but this is changing. Usually .NET, Java, Perl, Python and recently Ruby were the dictated choice of the clients or environments to code in. But with PHP5 now stable and PHP4 being retired, PHP is a insurgent platform that muscled its way into the web development world in a grassroots effort, from the bottom up. That takes work and the platform deserves a second look from people that have written it off.
PHP runs many large sites from Facebook, to Digg, to Yahoo and many other platforms even Microsoft is trying to buy. PHP might even be responsible for MySQLs meteoric rise to just recently being purchased by Sun. It is a platform that is being used to build platforms. It works on any platform, it is low-bar entry and high bar scalability and architecture if using a great framework or architecture (if custom or using an existing framework).
I am an engineer, developer, architect and interactive/game developer, I use the tools for the job no matter what is chosen. Any good developer can make a system work even with bad technology but today there isn’t alot of that going around. So many great platforms, languages and frameworks, why limit to a certain OS or platform. Open your horizons and stop specializing yourself out of special skills. Choose a tool that works on just about anything on the server side and doesn’t take over servers and take 3 times as long to develop. Try some PHP5 MVC frameworks today.

