FuelPHP is an open-source web application framework written in PHP which implements the HMVC pattern.
History
The FuelPHP project commenced in October 2010,3 with its major contributors being Harro Verton, Jelmer Schreuder, Dan Horrigan, Philip Sturgeon and Frank de Jonge.4 In November 2013,5 Steve West joined the development team. Philip Sturgeon and Dan Horrigan had contributed to the CodeIgniter framework.6
Major releases
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).
Version | Release date |
---|---|
1.0 | July 30, 20117 |
1.0.1 | August 23, 20118 |
1.1 | December 13, 20119 |
1.2 | May 6, 201210 |
1.3 | September 9, 201211 |
1.4 | November 11, 201212 |
1.5 | January 20, 201313 |
1.6 | May 3, 201314 |
1.7 | October 13, 201315 |
1.8 | April 9, 201616 |
1.9 | December 28, 202117 |
2.0 | No date set1819 |
Project guidelines
The project guidelines are to build a framework based on the best ideas from other ones. 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.20212223
Architecture overview
- FuelPHP is written in PHP 5.3 and requires at least version 5.3.3 of PHP for version 1.x.2425
- Cascading File System (inspired by Kohana framework): a directory structure partially based on namespaces used by classes.26
- Flexibility: almost every component of the core framework can be extended or replaced.27
- Modularity: applications can be divided up into modules.28
- Extensibility: additional functionalities can be added to the framework through packages.2930
Features overview
- A URL routing system31
- RESTful implementation32
- HMVC implementation3334
- Template parsing: Stags (a specific FuelPHP template engine) and Mustache template engines are included; drivers for Markdown, Smarty, Twig, Haml, Jade and Dwoo template engines35
- Form36 and data validation37 features38
- An Object Relational Mapper (ORM)3940
- Vulnerability protections: the framework encodes output, provides CSRF protection, cross-site scripting protection, input filtering features, and prevents SQL injection41
- The Auth package provides a set of components with which authentication and authorization application functionalities can be built.4243 Sentry is another authentication and authorisation package for FuelPHP.
- A caching system44
Tools
- Profiling and debugging: PHP Quick Profiler integration45
- Database migrations tool (inspired by the popular Ruby on Rails framework)46
- Scaffolding (inspired by Ruby on Rails framework, Oil package)47
- Tasks (operations that can be executed through the command line)48
- Testing: PHPUnit integration (Oil package)49
External links
Wikimedia Commons has media related to FuelPHP (framework).- Official website
- FuelPHP Documentation
- FuelPHP Blog
- FuelPHP Forum
- FuelPHP V1 source code
- FuelPHP V2 source code
- PHP Quick Profiler
- Oil package
- Auth package
- Sentry package
References
Allen, Jonathan (2011). "Fuel PHP: An MVC Framework". InfoQueue. Retrieved 2012-02-07. http://www.infoq.com/news/2011/09/Fuel-PHP ↩
Gilmore, Jason. "Getting Started with the Fuel PHP Framework". PHPBuilder. Archived from the original on 2012-01-25. Retrieved 2012-02-07. https://web.archive.org/web/20120125085410/http://www.phpbuilder.com/columns/FuelPHP_Gilmore_08-25-2011.php3 ↩
First GitHub commit https://github.com/fuel/fuel/commit/b29f2a60feacfd7cfd50c3a2ab99b24735d42bd1 ↩
FuelPHP contributors list http://fuelphp.com/contribute/contributors ↩
Team member list http://fuelphp.com/about ↩
GitHub CodeIgniter contributors https://github.com/EllisLab/CodeIgniter/contributors ↩
V1.0 Changelog https://github.com/fuel/fuel/blob/v1.0/CHANGELOG.md ↩
V1.0.1 Changelog https://github.com/fuel/fuel/blob/v1.0.1/CHANGELOG.md ↩
V1.1 Changelog https://github.com/fuel/fuel/blob/1.1/master/CHANGELOG.md ↩
V1.2 Changelog https://github.com/fuel/fuel/blob/1.2/master/CHANGELOG.md ↩
V1.3 Announcement http://fuelphp.com/blogs/2012/09/fuelphp-releases-v1-3 ↩
V1.4 Announcement http://fuelphp.com/blogs/2012/09/fuelphp-releases-v1-4 ↩
V1.5 Announcement http://fuelphp.com/blogs/2013/01/fuelphp-releases-v1-5 ↩
V1.6 Announcement http://fuelphp.com/blogs/2013/05/fuelphp-releases-v1-6 ↩
V1.7 Announcement http://www.fuelphp.com/blogs/2013/10/fuelphp-releases-v1-7 ↩
"FuelPHP » FuelPHP releases v1.8 | Blog". http://fuelphp.com/blogs/2016/04/fuelphp-releases-v1-8 ↩
"GitHub FuelPHP Tags". https://github.com/fuel/fuel/tags ↩
V2.0 Roadmap http://fuelphp.com/roadmap ↩
2.0 Development http://fuelphp.com/blogs/category/2.x-development ↩
Allen, Jonathan (2011). "Fuel PHP: An MVC Framework". InfoQueue. Retrieved 2012-02-07. http://www.infoq.com/news/2011/09/Fuel-PHP ↩
Sturgeon, Philip (2011). "An introduction to FuelPhp". PhpNE October 2011 conference. [phpne.org.uk]. Archived from the original on 2012-01-22. Retrieved 2012-02-07. https://web.archive.org/web/20120122164412/http://phpne.org.uk/2011/10/10/phpne-october-an-introduction-to-fuel-php-by-phil-sturgeon/ ↩
Developer team (2011). "Start your engines: Fuel RC1 is here". fuelphp.com. Archived from the original on 2012-01-06. Retrieved 2012-02-07. https://web.archive.org/web/20120106185748/http://fuelphp.com/blog/2011/04/start-your-engines-fuel-rc1-is-here ↩
Horrigan, Dan (2012). "What do you want out of FuelPHP ?". fuelphp.com. Archived from the original on 2012-02-05. Retrieved 2012-02-07. https://web.archive.org/web/20120205021714/http://fuelphp.com/blog/2012/02/what-do-you-want-out-of-fuelphp ↩
Sturgeon, Philip (2011). "Introducing FuelPHP". [philsturgeon.co.uk]. Archived from the original on 2013-09-28. Retrieved 2012-02-07. https://web.archive.org/web/20130928002935/http://philsturgeon.co.uk/blog/2011/01/introducing-fuelphp ↩
Developer team (2011). "FuelPHP Documentation - requirements". fuelphp.com. Retrieved 2011-06-30. http://fuelphp.com/docs/requirements.html ↩
Sturgeon, Philip (2011). "Introducing FuelPHP". [philsturgeon.co.uk]. Archived from the original on 2013-09-28. Retrieved 2012-02-07. https://web.archive.org/web/20130928002935/http://philsturgeon.co.uk/blog/2011/01/introducing-fuelphp ↩
"Extending Core Classes". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07. http://docs.fuelphp.com/general/extending_core.html ↩
"Modules". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07. http://docs.fuelphp.com/general/modules.html ↩
Allen, Jonathan (2011). "Fuel PHP: An MVC Framework". InfoQueue. Retrieved 2012-02-07. http://www.infoq.com/news/2011/09/Fuel-PHP ↩
Sturgeon, Philip (2011). "Introducing FuelPHP". [philsturgeon.co.uk]. Archived from the original on 2013-09-28. Retrieved 2012-02-07. https://web.archive.org/web/20130928002935/http://philsturgeon.co.uk/blog/2011/01/introducing-fuelphp ↩
Gilmore, Jason. "Getting Started with the Fuel PHP Framework". PHPBuilder. Archived from the original on 2012-01-25. Retrieved 2012-02-07. https://web.archive.org/web/20120125085410/http://www.phpbuilder.com/columns/FuelPHP_Gilmore_08-25-2011.php3 ↩
Gilmore, Jason. "Getting Started with the Fuel PHP Framework". PHPBuilder. Archived from the original on 2012-01-25. Retrieved 2012-02-07. https://web.archive.org/web/20120125085410/http://www.phpbuilder.com/columns/FuelPHP_Gilmore_08-25-2011.php3 ↩
Allen, Jonathan (2011). "Fuel PHP: An MVC Framework". InfoQueue. Retrieved 2012-02-07. http://www.infoq.com/news/2011/09/Fuel-PHP ↩
Gilmore, Jason. "Getting Started with the Fuel PHP Framework". PHPBuilder. Archived from the original on 2012-01-25. Retrieved 2012-02-07. https://web.archive.org/web/20120125085410/http://www.phpbuilder.com/columns/FuelPHP_Gilmore_08-25-2011.php3 ↩
"Parser package". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07. http://docs.fuelphp.com/packages/parser/intro.html ↩
"Fieldset Class". FuelPHP Docs. fuelphp.com. 2011. Archived from the original on 2011-12-29. Retrieved 2012-02-07. https://web.archive.org/web/20111229014120/http://docs.fuelphp.com/classes/fieldset.html ↩
"Validation Class". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07. http://docs.fuelphp.com/classes/validation/validation.html ↩
Allen, Jonathan (2011). "Fuel PHP: An MVC Framework". InfoQueue. Retrieved 2012-02-07. http://www.infoq.com/news/2011/09/Fuel-PHP ↩
Allen, Jonathan (2011). "Fuel PHP: An MVC Framework". InfoQueue. Retrieved 2012-02-07. http://www.infoq.com/news/2011/09/Fuel-PHP ↩
"ORM". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07. http://docs.fuelphp.com/packages/orm/intro.html ↩
"Security". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07. http://docs.fuelphp.com/general/security.html ↩
Petrie, Dan (2011). "Introducing Sentry: A FuelPHP Authentication Package". [cartalyst.com]. Archived from the original on 2012-02-07. Retrieved 2012-02-07. https://web.archive.org/web/20120207213850/http://blog.cartalyst.com/2011/12/introducing-sentry-a-fuelphp-authentication-package/ ↩
Sturgeon, Philip (2011). "Build an Admin Panel with the Fuel PHP Framework". [tutsplus.com]. Retrieved 2012-02-07. http://net.tutsplus.com/tutorials/php/build-an-admin-panel-with-the-fuel-php-framework ↩
"Cache Class". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07. http://docs.fuelphp.com/classes/cache/config.html ↩
"Profiling". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07. http://docs.fuelphp.com/general/profiling.html ↩
Allen, Jonathan (2011). "Fuel PHP: An MVC Framework". InfoQueue. Retrieved 2012-02-07. http://www.infoq.com/news/2011/09/Fuel-PHP ↩
Allen, Jonathan (2011). "Fuel PHP: An MVC Framework". InfoQueue. Retrieved 2012-02-07. http://www.infoq.com/news/2011/09/Fuel-PHP ↩
Gilmore, Jason. "Getting Started with the Fuel PHP Framework". PHPBuilder. Archived from the original on 2012-01-25. Retrieved 2012-02-07. https://web.archive.org/web/20120125085410/http://www.phpbuilder.com/columns/FuelPHP_Gilmore_08-25-2011.php3 ↩
Developer team (2011). "Start your engines: Fuel RC1 is here". fuelphp.com. Archived from the original on 2012-01-06. Retrieved 2012-02-07. https://web.archive.org/web/20120106185748/http://fuelphp.com/blog/2011/04/start-your-engines-fuel-rc1-is-here ↩