FuelPHP

FuelPHP is an open-source web application framework written in PHP which implements the HMVC pattern.

History
The FuelPHP project commenced in October 2010, with its major contributors being Harro Verton, Jelmer Schreuder, Dan Horrigan, Philip Sturgeon and Frank de Jonge. In November 2013, Steve West joined the development team.

Philip Sturgeon and Dan Horrigan had contributed to the CodeIgniter framework.

The first version of FuelPHP (FuelPHP 1.0) was developed under the GitHub repository named Fuel. Another GitHub repository named FuelPHP was created for the development of the second version (FuelPHP 2.0).

Project guidelines
The project guidelines are to build a framework based on the best ideas from other frameworks. The framework must provide powerful functionalities, it must be easy to work with, and it should have a lightweight codebase that takes account of community developers' orientations.

Architecture overview

 * FuelPHP is written in PHP 5.3 and requires at least 5.3.3 for V1.x.
 * Cascading File System (inspired by Kohana framework): a directory structure partially based on namespaces used by classes.
 * Flexibility: almost every component of the core framework can be extended or replaced.
 * Modularity: applications can be divided up into modules.
 * Extensibility: additional functionalities can be added to the framework through packages.

Features overview

 * A URL routing system
 * RESTful implementation
 * HMVC implementation
 * Template parsing: Stags (a specific FuelPHP template engine) and Mustache template engines are included; drivers for Markdown, Smarty, Twig, Haml, Jade and Dwoo template engines
 * Form and data validation features
 * An Object Relational Mapper (ORM)
 * Vulnerability protections: the framework encodes output, provides CSRF protection, cross-site scripting protection, input filtering features, and prevents SQL injection


 * The Auth package provides a set of components with which authentication and authorization application functionalities can be built. Sentry is another authentication and authorisation package for FuelPHP.
 * A caching system

Tools

 * Profiling and debugging: PHP Quick Profiler integration
 * Database migrations tool (inspired by the popular Ruby on Rails framework)
 * Scaffolding (inspired by Ruby on Rails framework, Oil package)
 * Tasks (operations that can be executed through the command line)
 * Testing: PHPUnit integration (Oil package)