PHP Fat-Free Framework

The PHP Fat-Free Framework is a modular PHP 5.3+ Web application framework designed to help build dynamic Web sites. The philosophy behind the framework and its approach to the Model View Controller (MVC) design pattern is towards minimalism in structural components, avoiding application complexity, and striking a balance between code elegance, application performance and programmer productivity. It aims to be "usable, not usual".
History
The source code was released as open source in November 2009 by Bong Cosca under the terms of the GNU General Public License Version 3.0. The software is actively maintained. Additional functionality and funding contributions come entirely from the community.
Originally self-contained in a single file, the framework is now distributed as two separate yet tightly-linked modules/files: the Core Pack, which incorporates the base framework functionality, and the optional Expansion Pack.
Koen van Urk, a regular contributor of , published an independent review of the framework, highlighting Fat-Free's divergence from the general approach to the MVC paradigm taken by other frameworks.
Features
Fat-Free's object-oriented design helps application developers write better-looking and more reliable PHP programs. The framework provides a very simple domain-specific language (DSL) for defining RESTful Web services. As a result, the source code needed to develop an entire application is declarative in nature, easy to understand and contains fewer lines compared to other PHP frameworks, more so with programs written without the aid of any framework.
The framework, with its gentle learning curve, can be used as a procedural code library by application developers with little or no object-oriented programming (OOP) knowledge, yet has the flexibility to accommodate the needs of those proficient in OOP concepts.
Fat-Free is an adaptation of Ruby's Sinatra framework, and shows some resemblance to PHP variants like Fitzgerald and Limonade. In a comparative study of PHP frameworks patterned after Sinatra, blogger Nathan Ostgard mentions Fat-Free "feels like Limonade on steroids" because the similarities end with Fat-Free's built-in template rendering engine, SQL database helper and server-side cache for performance optimization of HTTP responses and database queries.
"Unlike other frameworks that force you into following a strict set of difficult-to-navigate directory structures and obtrusive programming steps"
The template engine uses XML tags and constructs like tokens (template representations of framework variables), PHP functions and expressions enclosed in curly braces. The default functions that can be used in templates are those defined in PHP's standard, date/time and PCRE extensions - and these can be augmented, limited, or totally prohibited by the application controller.
The unit testing tools exemplify the framework's minimalist architecture. Setting up a test case or suite does not involve complex object-oriented class structures.
Fat-Free supports form input validation/manipulation and automatically sanitizes PHP superglobals like $_SESSION, $_REQUEST, $_FILES, $_POST, $_GET, and $_COOKIE as protection against code injection and XSS attacks.
The Core Pack provides the foundation for development teams to distribute work loads and compartmentalize programming/design efforts in typical MVC fashion. The optional Expansion Pack includes features like CAPTCHA security, CSS/Javascript minification, and on-demand thumbnail image generation.
Requirements
The lightweight PHP Fat-Free Framework requires PHP 5.3 or later to run. It does not depend on any PHP PECL modules, PEAR libraries, external classes or third-party components. The Core Pack consumes only 39KBytes of disk space (uncompressed), while the Expansion Pack takes up 9KBytes (uncompressed).
 
< Prev   Next >