The process of picking a framework, specifically a PHP one, is a daunting task. There are literally hundreds of them, and many are excellently written supported by great communities. For the past few years, I’ve been primarily coding on top of Codeigniter, but have worked with CakePHP, Symfony and Zend. However, I felt it was time to find a new framework built on PHP 5.3+.
Luckily, a friend remarked on his positive experiences with FuelPHP. Fuel, by its own admission, borrows the best ideas of other frameworks and so this past week, I played around with the codebase and really enjoyed it. Here are some of the features I dig:
ViewModels are a great tool to simplify your Controller code. It moves out a ton of view logic that I traditionally embedded in extraneous private methods in the entity’s Controller class. For instance, you can move database calls needed to build the view into these classes.
Slick ORM and Generator
Although patterned after many incarnations of ORMs, I’ve found Fuels’ to be particularly fast and simple to set up. The generator not only provides scaffolding, but also sequential migrations for your database and the ability to easily transition your application between datasource states via simple “oil” commands.
PHP 5.3+ Support
Thank you for Namespacing and Closures. Encapsulation is our friend.
Coding / Syntax Standards
FuelPHP requires coding standards for any developer contributing to the project. I then decided to adopt this approach in my own personal work. It definitely contradicts my rebellious attitude and coding preferences, but ultimately, I like the idea of having a consistent and readable codebase across the framework and its implementations.