English Brazilian Portuguese
 

Guzaba Framework

Guzaba Framework forms the basis of Guzaba CMS. It provides the infrastructure on which the end user functionality is built. The framework can be used without the CMS for development of a custom application. This is a brief introduction to the framework. More details and downloads can be found on its own web site - http://framework.guzaba.org

Guzaba Framework is built using the latest major PHP release - version 5.3. It provides several significant improvements over the previous releases with the two major functionality enhancements being namespace support and late static binding. The framework makes good use of both (LSB provides for a proper singleton implementation) as well closures and extensive overloading (for the ORM). One of the main aims when the framework was created was to use as much as possible the features that PHP 5.3 natively and implement as design patterns the rest.

The framework has a big hierarchy of objects and interfaces and uses code generation from XML configuration files for the so called "configuration" objects. This hierarchy makes possible the objects to "know" only what they need to know instead of using a separate "registry" or "configuration storage". All objects in the system like operations, users and roles use the Active Record pattern (for Object-Relational Mapping). The system has as well a version of Active Record that supports revisions.

Guzaba Framework provides its own implementation of MVC. The controllers are in fact Operations - the meaningful operations that can be performed on the objects in the system (like "disable user", "edit page" etc.). The operations have own permissions (because they are also objects in the terms of RBAC). More details about the security features provided by the framework (and used by the CMS) can be found here.