User Guide | Libraries

flexi auth is split into two different libraries each with an individual purpose.

Lite Library

The lite library contains functions that typically read data from the auth session or database, and barring status and error messages, it does not set any data to the auth session or database.

It is called the 'lite' library as it used by the standard library, but to save memory usage, can be instantiated by itself for pages that do not need the functionality of the full standard library.

When loaded by itself, it typically uses approximately 350kb of memory which is around 75% lighter than when loaded via the standard library.

The typical functions available from the lite library can return any data that is set in the auth session data, this includes the users id, email/username, user groups and user privilege data.
Additionally, database queries can be run to return data for any user within the database.


Examples
// Loading the lite library.
$this->load->library('flexi_auth_lite');
// Loading the lite library using a different object name.
// When loading the lite library, it may be more convenient to rename the library object to 'flexi_auth'.
$this->load->library('flexi_auth_lite', FALSE, 'flexi_auth');

Standard Library

The standard library contains the core functionality of the library, with functions to insert, update and delete data from the database tables.

The standard library automatically loads the lite library when instantiated, so all functions that are available in the lite library, are also available when the standard library has been loaded.

When loaded, the standard library typically uses approximately 1500kb of memory. To minimize the memory usage on the server, it is recommended that the standard library should only be loaded on pages that are actively using functions within the standard library. Note that the auth session data is not lost if a library is not loaded.

Note: Unlike with the lite library, do NOT rename the library object to any other name when loading this library as it will cause conflicts in some internal functions.


Examples
// Loading the standard library.
$this->load->library('flexi_auth');