CWF is written in PHP 5.1, and it is currently distributed under BSD license. It was created in an attempt to solve some of the recurring problems with small- and medium-scale web development by using common sense and minimalist designs. It handles things like request delegation, permission checks, group and user management, templating, and ORM. The framework is meant to be simple both in terms of extenal APIs, and internal logic.
Some of the features of Caffeine Web Framework are:
- Innovative web-based documentation system that allows to view and comment code online.
- Single point of entry. All HTTP requests go through index.php, which then calls System::ignite() to delegate the request. This allows for easy request pre-processing, use of short URLs without .htaccess, and output post-processing.
- Simple request handling. Any new method of any class that extends Module is automatically callable from the web. It gets HTTP POST and GET data as one of it's arguments, and everything it echo'es to standard output goes to the client's browser. Details (like permission checks) are automatically handled by the Module class.
- Pure-PHP templates and config files.
- ORM layer, which uses PDO and consists of only two classes. Record handles most of the ORM work, while Link allows for object-oriented management of many-to-many relationships.
- Some internationalization tools.