The FuelPHP project started in October 2010.[5]
The major contributors[6] to FuelPHP are Harro Verton, Jelmer Schreuder, Dan Horrigan, Philip Sturgeon and Frank de Jonge. In November 2013,[7] Steve West joined the development team.
Philip Sturgeon and Dan Horrigan have contributed to the CodeIgniter framework.[8]
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).
Major releases Project guideline
The project guideline is:
Building a framework based on the best ideas from other frameworks.[3][21]
The framework must provide powerful functionalities, it must be easy to work with and it should have a lightweight codebase.[21]
Taking account of community developers' orientations.[21][22][23]
Architecture overview
FuelPHP is written in PHP 5.3.[24] and requires at least 5.3.3 for V1.x.[25]
Cascading File System (inspired by Kohana framework): a directory structure partially based on namespaces used by classes.[24]
Flexibility: almost every component of the core framework can be extended or replaced.[26]
Modularity: applications can be divided up into modules.[27]
Extensibility: additional functionalities can be added to the framework through packages.[3][24]
Features overview
A URL routing system.[4]
RESTful implementation.[4]
HMVC implementation.[3][4]
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.[28]
Form[29] and data validation[30] features.[3]
An Object Relational Mapper (ORM).[3][31]
Vulnerability protections: the framework encodes output, provides CSRF protection, cross-site scripting protection, input filtering features, and prevents SQL injection.[32]
The Auth package provides a set of components with which authentication and authorization application functionalities can be built.[33][34] Sentry is another authentication and authorization package for FuelPHP.
A caching system.[35]
Tools
Profiling and debugging: PHP Quick Profiler integration.[36]
Database migrations tool (inspired by the popular Ruby on Rails framework).[3]
Scaffolding (inspired by Ruby on Rails framework, Oil package).[3]
Tasks (operations that can be executed through the command line).[4]
Testing: PHPUnit integration (Oil package).[22]