Architecture


Core Base

unga is based on Code Igniter PHP Framework with the addition of the Modular Extensions which allows to group modules and plug in to the system easily.

The base code has been modified too to allow the "activation" of these extensions, that is, the installation. An extension is not installed and is not allowed to work until activated on the backend.

REST

REST is used to interact with the services provided by unga. The unga Core provides a base class to allow unified CRUD operations.

A base class with standard CRUD operations is provided too for models.

In all that base classes (controllers and models) the base CRUD operations are implemented by default so the only operations to do when starting a new model is to define the database table and the return objects to work with.

Data types

Unga allows to work both with XML and JSON format only sending the "Accept" and "Content-Type" headers on the request.

This is completely transparent for the developer: unga will serialize/deserialize xml and joson to and from PHP objects. This provides independence between entry data and "business" code; modules only have to work with objects and not with "some kind of serialized stuff".