DIY Framework 0.3
From PHPKode | 114.3 KB
Try before download
The page visits: 775
DIY Framework is an open-source lightweight web application framework based on object-oriented PHP 5, MySQL, and XSLT. It is fully object-oriented and designed following the MVC architecture and REST design principles. The idea behind it is not to reinvent the wheel but instead to combine existing and proven technologies in a convenient and effective way.
The DIY Framework is a compact class library which can be extended and included by user applications. It puts few restrictions and gives flexibility. In contrast, most of the current web application frameworks are designed inside-out: they define the general structure and only allow your application to fit within their constraints.
For the same reasons, the framework does not contain plugins, scaffolding, routing, AJAX, widgets or other buzzwords. We see them as helper applications at best, not as parts of the framework itself. No frills are included (hence the name) — just precise control over your sever-side code.
Because of the framework's nature, the following descriptions of architecture and file structure should be seen merely as guidelines for applications. They are also used in the included sample files.
Using the DIY Framework, not a single line of SQL or HTML needs to be hardcoded, constructed “by hand” or mixed with the PHP code. Almost no URL hacking or chopping is needed. The UTF-8 encoding is used exclusively.
The framework exploits PHP 5's features such as more advanced object model, type hinting and class autoloading. HTTP request, response and session data is accessed via Java servlet-style OO wrappers. The framework has been straightforwardly ported to Java.
It has been successfully used in several small to medium production solutions and is currently used to build a large community-based social website.
- PHP 5 (not compatible with PHP 4)
- PHP's XSL and MySQL (or some other database) extensions
- MySQL (or another database supported by Propel, although this has not been tested)
- URL rewriting enabled on the webserver (e. g. using Apache's mod_rewrite)