First of all let me clarify, that if you are looking for a Symfony, CodeIgniter, CakePHP.. etc article, this is not what you are looking for. In this article you will find small and extra lightweight PHP frameworks that in some cases, can make your life easier. Really.
Why use a framework?
Because re-inventing the wheel again and again is something a productive (note the word used: productive* ) developer, should not do. By using a framework that supports the MVC patern (Model,View,Controler), you can keep your code readable and understandable, you seperate application logic from presentation and many more things that would require more than an article to cover.
We start our listing with the Kohana framework. The Kohana team describes the framework as a PHP5 framework with support to the MVC architectural pattern that aims to be secure, lightweight and easy to use. The full package sized only 1.5MB (629KB compressed) has everything you need to create great and fully functional php applications. Some of the modules included are:
- Archive – Compressed archive creation, supports zip, tar, gzip, and bzip.
- Auth – Simple authentication and user management. Uses ORM for models.
- Gmaps – Google Maps integration, geolocation, and API support.
- Kodoc – Dynamic self-generated documentation. (Beta!)
- Payment – Provides merchant and payment gateway wrappers. Supports Authorize.net, PayPal, Trident, Trust Commerce, and YourPay.
Great documentation (Wiki based, this means that everyone can contribute. Something like the PHP Manual, where user comments are the real documentation) , excellent and small tutorials like : Creating a blog with Kohana Part 1 and Part 2, make learning the kohana framework a lot easier.
Rapyd is another small php framework that can also be used as a library. 250KB of compressed files with an uncomressed size of 484KB. It is definetely impressive what you can do with it. Some of it’s features:
- No compiling, no command line needed, just unzip, it will work.
- PHP5 Strict
- Modules support
- Nice URLs (SEO oriented)
- Tiny MVC in few files
epicode is an extremely lightweight PHP framework. It includes caching, session, database, form validation, twitter, oauth and asynchronous/non-blocking curl components. EpiCode started off as an MVC framework but has evolved into a set of extremely useful tools. Every tool is completely decoupled so they can be used independently or in conjunction. Each library in EpiCode is thought out and implemented in an extremely cohesive manner. The documentation can be found here.
Extra Light Framework
ELF PHP is a php framework with a very small footprint, built on Model-View-Controller architecture. Believe it or not, PHP ELF is sized only 39KB compressed and when extracted it’s size is only 72KB. Although it’s small size it features:
- Caching system
- URL Routing system
- Logging system
- Requests handler
- Image manipulation class
- Database abstractization
- Minimal server load
and the plans for the Beta 3 include adding:
- Validation class
- Session class
- Pagination class
- File upload
- Common scripts
- Improved caching engine
- Improved models
BaseApp Framework is aimed at individual commercial developers or small web application builders who need a starting point.Also if you are a CakePHP User you will find yourself at home with the API. BaseApp was inspired by CakePHP And Codeigniter but tries to do everything under 50 kb.
It has support for most common features available in frameworks these days but achieves all this in under 50 Kb of compressed Code and not MBs of it. Some technical data:
- PHP 5 with support for new features like autoloading etc.
- Fully MVC ( But can be used as a library also ).
- CakePHP API ( 80 % ) and Layout.
- Active Records and Object Relation Ship Mapping (ORM).
- Model Validation with complementing form helpers.
- Data Abstraction Layer with Adodb Support ( Almost all databases supported ).
- Extensive Debugging and Exception Handling facilities ( FireBug Support Built in ).
- Extendable Cookie and Session Handling.
- Search engine friendly and url routing features.
- Ajax Support through Jquery.
The project is hosted on Google code.
On the Why use a framework chapter i used the word productive especially for one reason. I wanted to note that re-inventing the wheel is bad only for productive purposes. If some people didn’t try to do things their way, we would miss some of the greatest achievements in mankind. My opinion though.
- Integrated Development Environments For Qt And Not Only This is a list of some Qt and not only,...
- 20+ Open Source RAD Tools This is a list of Rapid Application Development tools that...
- 10 Things to Consider Before Creating a Content Management System Having created more than 5 different content management systems, I...