FuelPHP
   HOME

TheInfoList



OR:

FuelPHP is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
web application framework A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and ...
written in
PHP PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
which implements the HMVC pattern.


History

The FuelPHP project commenced in October 2010, with its major contributors bein
Harro VertonJelmer SchreuderDan HorriganPhilip Sturgeon
an
Frank de Jonge
In November 2013, Steve West joined the development team. Philip Sturgeon and Dan Horrigan had contributed to the CodeIgniter framework.


Major releases

The first version of FuelPHP (FuelPHP 1.0) was developed under the
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
repository named Fuel. Another GitHub repository named FuelPHP was created for the development of the second version (FuelPHP 2.0).


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 In software development, a codebase (or code base) is a collection of source code used to build a particular software system, application, or software component. Typically, a codebase includes only human-written source code system files; thu ...
that takes account of community developers' orientations.


Architecture overview

* FuelPHP is written in
PHP PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
5.3 and requires at least version 5.3.3 of PHP for version 1.x. * Cascading File System (inspired b
Kohana
framework): a directory structure partially based on
namespaces In computing, a namespace is a set of signs (''names'') that are used to identify and refer to objects of various kinds. A namespace ensures that all of a given set of objects have unique names so that they can be easily identified. Namespaces ...
used by classes. * Flexibility: almost every component of the core framework can be extended or replaced. *
Modularity Modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a system into varying ...
: applications can be divided up into modules. *
Extensibility Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be t ...
: additional functionalities can be added to the framework throug
packages


Features overview

* A URL routing system *
RESTful REST (Representational State Transfer) is a software architectural style that was created to describe the design and guide the development of the architecture for the World Wide Web. REST defines a set of constraints for how the architecture of ...
implementation * HMVC implementation *
Template Template may refer to: Tools * Die (manufacturing), used to cut or shape material * Mold, in a molding process * Stencil, a pattern or overlay used in graphic arts (drawing, painting, etc.) and sewing to replicate letters, shapes or designs C ...
parsing Parsing, syntax analysis, or syntactic analysis is a process of analyzing a String (computer science), string of Symbol (formal), symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal gramm ...
: Stags (a specific FuelPHP template engine) and
Mustache A moustache (; mustache, ) is a growth of facial hair grown above the upper lip and under the nose. Moustaches have been worn in various styles throughout history. Etymology The word "moustache" is French, and is derived from the Itali ...
template engines Template engine may refer to: * Template processor, the general concept ** Web template system, contains a web templating engine as one component * Mail merge, template engines used in word processing applications * Preprocessor In computer sci ...
are included; drivers for
Markdown Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber created Markdown in 2004 as an easy-to-read markup language. Markdown is widely used for blogging and instant messaging, and also used ...
, Smarty,
Twig A twig is a thin, often short, branch of a tree or Bush (plant), bush. The buds on the twig are an important diagnostic characteristic, as are the abscission scars where the leaves have fallen away. The color, texture, and patterning of the t ...
,
Haml Haml (HTML Abstraction Markup Language) is a templating system that is designed to avoid writing inline code in a web document and make the HTML cleaner. Similar to other template systems like eRuby, Haml also embeds some code that gets execut ...

Jade
an
Dwoo
template engines Template engine may refer to: * Template processor, the general concept ** Web template system, contains a web templating engine as one component * Mail merge, template engines used in word processing applications * Preprocessor In computer sci ...
* Form and data validation features * An Object Relational Mapper (ORM) *
Vulnerability Vulnerability refers to "the quality or state of being exposed to the possibility of being attacked or harmed, either physically or emotionally." The understanding of social and environmental vulnerability, as a methodological approach, involves ...
protections: the framework encodes output, provides
CSRF Cross-site request forgery, also known as one-click attack or session riding and abbreviated as CSRF (sometimes pronounced ''sea-surf'') or XSRF, is a type of malicious exploit of a website or web application where unauthorized commands are submit ...
protection,
cross-site scripting Cross-site scripting (XSS) is a type of security vulnerability that can be found in some web applications. XSS attacks enable attackers to inject client-side scripts into web pages viewed by other users. A cross-site scripting vulnerability may be ...
protection, input filtering features, and prevents
SQL injection In computing, SQL injection is a code injection technique used to attack data-driven applications, in which malicious SQL statements are inserted into an entry field for execution (e.g. to dump the database contents to the attacker). SQL injec ...
* The Auth package provides a set of components with which
authentication Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an Logical assertion, assertion, such as the Digital identity, identity of a computer system user. In contrast with iden ...
and
authorization Authorization or authorisation (see American and British English spelling differences#-ise, -ize (-isation, -ization), spelling differences), in information security, computer security and identity management, IAM (Identity and Access Managemen ...
application functionalities can be built. Sentry is another authentication and authorisation package for FuelPHP. * A caching system


Tools

* Profiling and
debugging In engineering, debugging is the process of finding the Root cause analysis, root cause, workarounds, and possible fixes for bug (engineering), bugs. For software, debugging tactics can involve interactive debugging, control flow analysis, Logf ...
: PHP Quick Profiler integration *
Database In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
migrations tool (inspired by the popular
Ruby on Rails Ruby on Rails (simplified as Rails) is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pa ...
framework) *
Scaffolding Scaffolding, also called scaffold or staging, is a temporary structure used to support a work crew and materials to aid in the construction, maintenance and repair of buildings, bridges and all other human-made structures. Scaffolds are widely u ...
(inspired by
Ruby on Rails Ruby on Rails (simplified as Rails) is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pa ...
framework, Oil package) * Tasks (operations that can be executed through the command line) * Testing:
PHPUnit PHPUnit is a unit testing framework for the PHP programming language. It is an instance of the xUnit architecture for unit testing frameworks that originated with SUnit and became popular with JUnit. PHPUnit was created by Sebastian Bergmann an ...
integration (Oil package)


References


External links

*
FuelPHP DocumentationFuelPHP BlogFuelPHP ForumFuelPHP V1 source codeFuelPHP V2 source codePHP Quick ProfilerSentry package
{{Application frameworks PHP software PHP frameworks Web frameworks Software using the MIT license Free software programmed in PHP