Artaengine class diagram

API search and browse tips

All Artaengine classes and interfaces can be filtered and found in the left pane.

Use the search box located on top right of this page to see the documentations of a class, interface or a class member name. Valid search keywords are:

ClassName or InterfaceName

ClassName.method or InterfaceName.method

ClassName::method or InterfaceName::method

ClassName.constant or InterfaceName.constant

ClassName::constant or InterfaceName::constant



Keywords are case insensitive.

Keyword can be a substring of a class or interface name.

You can also filter the left pane classes and interfaces by partially entering their name.

Methods and properties can be filtered within each class or interface content by partially entering their name.

URL paths



Documentation tips

Dictionaries are shown as { key: val, } which are PHP associative array: array(key => val,);

Lists are shown as [ val, ] which are PHP arrays without index or with serial zero based int keys: array(val1,);

When the data-type of a method argument is shown inside a list e.g: [string] it means the method accepts an infinite number of arguments of that type. e.g:
void $obj->add(IModel model, array | [string] properties=null)
means the method can be used as below:
$obj->add($model, array('name', 'age', 'username'));
$obj->add($model, 'name', 'age', 'username');

The class member indexes are colored as: , , , and .

About the API documentation

The API documentations are only useful if you have the idea of how things work in an application based on Artaengine. Otherwise reading the tutorials and downloading the examples would be more helpful.

The documentations are created from the source codes by the "open source Artaengine doxer". Artaengine doxer is available in the downloads.


For classes such as database and cache object factories which are used by other Artaengine components the interface create standardization.

For classes such as database and cache abstracts, the interface grantees any other object implementing the interface can be developed/used in the same way.

For classes such as form and table generators which are unlikely to be used by other components the interfaces are assurances for developers. They assure that Artaengine future releases will be backward compatible and can be replaced with the older versions without breaking the application. It is worth to mention that any class or method which is not backed by an interface is subject to change.