Monthly Archive for June, 2009

PHP: Framework Faceoff

I was away from the PHP world while traveling in Europe and in four short months some nice PHP MVC frameworks seemed to crop up out of nowhere. I’m starting a fairly large project and was determined to use one of these new frameworks as the design and ‘free’ functionality that they offered seemed too good to pass up. However, there was almost too many choices. It was hard to choose between: Cake PHP, Code Igniter, Akelos, PHP Dev Shell, and many others.

For me it ended up coming down to Code Igniter (CI) and Kohana. Kohana is actually a branch off of the CI codebase, keeping with alot of the design choices that make CI attractive, yet stripping the codebase of support for PHP4 and some other legacy technologies and adding support for some of the more advanced PHP5 features. In short Kohana seems like a clean, lean, more ‘modern’ version of CI. I’ve been developing with it for a week and highly recommend checking it out. One of the features I’ve been most impressed by is ORM which uses SQL schema extrapolated from the source database to create a editable object that can perform all CRUD operations. This means only one or two lines of ‘glue code’ to handle the M of the MVC design pattern – Cocoa Bindings for PHP!

The community around Kohana is very impressive for a fairly new PHP framework, I’ve found some very nice addons which have saved me hours of development time:

  • Formo – Easy form creation and validation
  • Message – Easy error/info messages across PHP sessions
  • Head – Dynamic
    head

    creation using PHP

  • s7nCMS – Nice CMS package
  • And much much more

I’ve even posted one of my small extensions.