Skip to content
Photis Patriotis edited this page Aug 27, 2013 · 14 revisions

Welcome to the MABI wiki!

Basics

The MABI framework is built on PHP and the Slim Framework to implement a REST based Model-Controller architecture. The framework strives to be open and adjustable by allowing overrides of all of its internal classes, but it also uses comment annotation and naming conventions to provide override shortcuts and keep code clean and readable.

In addition to the base setup for the framework, MABI bundles tools to interact directly with MongoDB, build/output documentation automatically from code, and allow developers to test their endpoints. These are explained in the detailed reference. The following are the main concepts from a coding perspective:

Model/Controller

MABI removes the 'view' component that most frameworks have so that the Model serves as the communication and documentation vehicle to the client while the client provides the view. The controllers manage how that communication of the Model happens (rights, updates, etc.).

By default, MABI automatically generates controllers that implement REST (this is done via the RESTModelController class), allowing the mobile device full control to retrieve, create, update, and delete collections and individual resources. Default controllers can be overridden to add rights and custom actions, as well as creating completely new controllers to define custom non-REST actions.

Overrides

The entire framework uses overridable classes to implement its models and controllers. This way, you are always able to remove layers of abstraction as your application requires more in-depth and independent usage from framework standards.

The following is an example of typical application overrides for MABI: MABI Inheritance

Annotations

Reference

Clone this wiki locally