FuelPHP
Developer(s) | FuelPHP developer team |
---|---|
Stable release | 1.8[1]
/ April 9, 2016 |
Preview release | 2.0 alpha
/ January 1, 2014 |
Repository | |
Operating system | Cross-platform |
Platform | PHP 5.3.3+ |
Available in | Multilingual |
Type | Web application framework |
License | MIT License |
Website | fuelphp |
FuelPHP is an open source web application framework written in PHP which implements the HMVC pattern.[2][3]
History
The FuelPHP project started in October 2010.[4]
The major contributors[5] to FuelPHP are Harro Verton, Jelmer Schreuder, Dan Horrigan, Philip Sturgeon and Frank de Jonge. In November 2013,[6] Steve West joined the development team.
Philip Sturgeon and Dan Horrigan have contributed to the CodeIgniter framework.[7]
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
Version | Release date |
---|---|
1.0 | July 30, 2011[8] |
1.0.1 | August 23, 2011[9] |
1.1 | December 13, 2011[10] |
1.2 | May 6, 2012[11] |
1.3 | September 9, 2012[12] |
1.4 | November 11, 2012[13] |
1.5 | January 20, 2013[14] |
1.6 | May 3, 2013[15] |
1.7 | October 13, 2013[16] |
1.8 | April 9, 2016[17] |
2.0 | No date set,[18][19] |
Project guideline
The project guideline is:
- Building a framework based on the best ideas from other frameworks.[2][20]
- The framework must provide powerful functionalities, it must be easy to work with and it should have a lightweight codebase.[20]
- Taking account of community developers' orientations.[20][21][22]
Architecture overview
- FuelPHP is written in PHP 5.3.[23] and requires at least 5.3.3 for V1.x.[24]
- Cascading File System (inspired by Kohana framework): a directory structure partially based on namespaces used by classes.[23]
- Flexibility: almost every component of the core framework can be extended or replaced.[25]
- Modularity: applications can be divided up into modules.[26]
- Extensibility: additional functionalities can be added to the framework through packages.[2][23]
Features overview
- A URL routing system.[3]
- RESTful implementation.[3]
- HMVC implementation.[2][3]
- 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.[27]
- Form[28] and data validation[29] features.[2]
- An Object Relational Mapper (ORM).[2][30]
- Vulnerability protections: the framework encodes output, provides CSRF protection, cross-site scripting protection, input filtering features, and prevents SQL injection.[31]
- The Auth package provides a set of components with which authentication and authorization application functionalities can be built.[32][33] Sentry is another authentication and authorization package for FuelPHP.
- A caching system.[34]
Tools
- Profiling and debugging: PHP Quick Profiler integration.[35]
- Database migrations tool (inspired by the popular Ruby on Rails framework).[2]
- Scaffolding (inspired by Ruby on Rails framework, Oil package).[2]
- Tasks (operations that can be executed through the command line).[3]
- Testing: PHPUnit integration (Oil package).[21]
Roadmap
For the new version (V2) currently under development, some very significant changes are planned:[36]
- It will be fully installable using Composer
- It will require PHP 5.4+
- The framework core will be split up in different Composer packages, most framework independent
- Fuel applications will be independent packages as well, Composer installable
- The framework will support multiple applications in a single installation
- "Oil" will become a separate application, with commandline, terminal and HTML support
- "Oil" will contain a generic admin backend for your applications
- Complete platform independent DBAL, including a schema manager[37]
- Completely unit tested, with 100% code coverage
- Fully object oriented, no static code in the core anymore
Some of the features of the V1 release will be made available as separate V2 packages, for others a compatibility package will be created. This will minimize the impact when an existing application has to be migrated
References
- ^ "FuelPHP releases v1.8". FuelPHP. 9 April 2016. Retrieved 27 May 2016.
- ^ a b c d e f g h Allen, Jonathan (2011). "Fuel PHP: An MVC Framework". InfoQueue. Retrieved 2012-02-07.
- ^ a b c d e Gilmore, Jason. "Getting Started with the Fuel PHP Framework". PHPBuilder. Retrieved 2012-02-07.
- ^ First GitHub commit
- ^ FuelPHP contributors list
- ^ Team member list
- ^ GitHub CodeIgniter contributors
- ^ V1.0 Changelog
- ^ V1.0.1 Changelog
- ^ V1.1 Changelog
- ^ V1.2 Changelog
- ^ V1.3 Announcement
- ^ V1.4 Announcement
- ^ V1.5 Announcement
- ^ V1.6 Announcement
- ^ V1.7 Announcement
- ^ [1]
- ^ V2.0 Roadmap
- ^ 2.0 Development
- ^ a b c
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.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ a b
Developer team (2011). "Start your engines: Fuel RC1 is here". fuelphp.com. Archived from the original on 2012-01-06. Retrieved 2012-02-07.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^
Horrigan, Dan (2012). "What do you want out of FuelPHP ?". fuelphp.com. Archived from the original on 2012-02-05. Retrieved 2012-02-07.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ a b c Sturgeon, Philip (2011). "Introducing FuelPHP". [philsturgeon.co.uk]. Retrieved 2012-02-07.
- ^ Developer team (2011). "FuelPHP Documentation - requirements". fuelphp.com. Retrieved 2011-06-30.
- ^ "Extending Core Classes". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07.
- ^ "Modules". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07.
- ^ "Parser package". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07.
- ^
"Fieldset Class". FuelPHP Docs. fuelphp.com. 2011. Archived from the original on 2011-12-29. Retrieved 2012-02-07.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ "Validation Class". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07.
- ^ "ORM". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07.
- ^ "Security". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07.
- ^
Petrie, Dan (2011). "Introducing Sentry: A FuelPHP Authentication Package". [cartalyst.com]. Archived from the original on 2012-02-07. Retrieved 2012-02-07.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Sturgeon, Philip (2011). "Build an Admin Panel with the Fuel PHP Framework". [tutsplus.com]. Retrieved 2012-02-07.
- ^ "Cache Class". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07.
- ^ "Profiling". FuelPHP Docs. fuelphp.com. 2011. Retrieved 2012-02-07.
- ^ Verton, Harro (2013). "FuelPHP 2.0: An Update". fuelphp.com. Retrieved 2013-08-23.
- ^ De Jonge, Frank (2013). "The Database package for 2.0". fuelphp.com. Retrieved 2013-05-08.