Fuel PHP is a flexible, simple community driven PHP 5.3+ framework, based on the best ideas of other frameworks, with a fresh start. It has a built-in modular structure and complete flexibility with emphasis on community. Before Fuel, it was a CakePHP user and just like Cake, Fuel is a huge community driven framework.
What is exactly Fuel PHP Oil?
If you have experience with PHP frameworks, then the concept of oil will be completely clear to you. Indeed, oil is a command line utility to test your application, facilitate quick development and run multiple tasks. By this, it will enable you to speed up your development by providing several functions:
Generate: Create MVC components, migrations, etc.
Refine: Run tasks such as migrate, and also your own customized tasks.
Package: Install, update and remove packages.
Console: Test your code in real-time using an interactive shell.
Testing: Run PHP Unit tests.
Fuel PHP Packages
Fuel has many packages that allow you to share packages, which you build with other people. These can be found on Packages, same as all Composer packages.
You can install a package in two ways. You can do it manually by throwing oil, or use Composer.
When it comes to reuse, organizing and share your code, packages are a good way to allow you to do this. All sorts of code like models, third-party libraries, comfits, which they contain. Without messing up your app/classes directory, Packages also allow you to extend the core.
Packages are used to
Is a great way to organize your code?
Supply a place to keep third party libraries,
Allow you to extend other packages without messing with someone’s code,
A place to extend fuel without messing with core files.
Packages are not to
Packages do not map to the URL,
And are not approachable through HMVC requests
Features of Fuel PHP
Fuel PHP is a MVC (Model-View-Controller) framework that was designed from the ground up to have full support for HMVC as part of its architecture. In this also added View Models (presentation models) into the mix which gives you the option to add a powerful layer between the View and Controller?
Fuel PHP also supports router based approach where you might route directly to a closure which deals with the input Uri, making the closure the controller and giving it control of further execution.