FuelPHP is a relatively new web application framework based on PHP. Just like most of PHP frameworks, FuelPHP is an open source framework. The development of FuelPHP started towards the end of 2010 and the first version was released on 30th July 2011. Following that several updated versions have come out and the current version is FuelPHP 1.8 which is compatible with PHP 7. It is reported that FuelPHP 2.0 is likely to hit the market this year as GitHub repository shows it is already under development. It is developed by a team of 5 PHP developers and each one of them has independently contributed to the development of other PHP frameworks.
HMVC Model –
FuelPHP uses the hierarchical model view controller(HMVC). The framework has adapted all the best features of the existing frameworks and then adds some of its own unique features. The HMVC is a variation of traditional MVC architecture. In this architecture, the controller has to select the model first and then the view. The model does not let the view access the data source directly and there is an approval mechanism working in the background. This architectural pattern is highly compatible with modular development and promotes widgetization. The main difference between MVC and HMVC is that content does not need to be duplicated to show on multiple pages in HMVC. Hence, less time is consumed and less memory is used. The response can be faster and better memory management will make space for loading other important items quickly.
Due to the approval mechanism in HMVC, the sub-requests are dispatched to a controller to handle dedicatedly. The request then interacts with the model and finally picks a view to display. Due to the concept of widgetization, the view can be displayed on the same page as against a new page which is the case in MVC. In short, HMVC promotes modularity and reusability with better maintenance option. Furthermore, it is flexible which means that the components of the framework can be modified and additional functionalities can be included using packages.
Features Of FuelPHP –
Apart from HMVC which is an advanced version of the traditional MVC that most of the PHP frameworks are still using, there are some exclusive features FuelPHP has to offer to the PHP developers.
Security – When you are developing a web application, security is the primary concern because more or less the frameworks provide a similar structure for coding. Security has been given important in FuelPHP and it has encoding option for all your outputs. It keeps XSS attacks and CSRF attack out of the gate. The Query Builder is designed to filter the input and protect your application from SQL injection. There are various classes and packages available to avail the built-in security features directly into your modules as per requirement.
Modularity – The frameworks became popular among developers mainly because of their modularity. You can divide a big project into modules and when the development of all modules is done independently, they can be joined together seamlessly. FuelPHP goes on step ahead to make modularity flexible. You can extend the classes of core packages offered by FuelPHP effortlessly. As a matter of fact, you can replace the FuelPHP core packages and add more functionality. You can re-use your packages and modules. In short, it offers a better modularity development than most of the popular PHP frameworks.
Powerful ORM –
ORM plays an important role in any framework. It is a bridge between objects and database. It is responsible for all the interaction of the application with the database. Literally, all web application needs a backend database and hence, the better the ORM provided by the framework, the easier it will be to process the database requires and execute complication queries. ORM provided by FuelPHP is powerful and at the same time, lightweight. It is capable of performing all the operations of the highest degree. All the normal and advanced functionalities are supported starting from complex relationship types and nested relationships to nested sets functionality.
Robust Command Line –
The command line is extremely important for the popularity of the framework. The less complex and more developer-friendly the command line will be, the faster will the popularity of the framework spread. FuelPHP’s command line Oil is designed to increase the productivity and speed up development. It is highly useful for testing and debugging. If you are comfortable with traditional command line, you can ignore its command line Oil completely. With Oil, you can perform cron activities and do interactive debugging.
Apart from these basic features, FuelPHP comes with base classes for models and controllers so that you can get started with your development with a boost. FuelPHP comes with a Parser package that lets you use any template for parsing views better. Along with that, the authentication framework offered by FuelPHP is robust and flexible for faster development of applications.