CodeIgniter User Guide Version 2.2.6


Using CodeIgniter Drivers

Drivers are a special type of Library that has a parent class and any number of potential child classes. Child classes have access to the parent class, but not their siblings. Drivers provide an elegant syntax in your controllers for libraries that benefit from or require being broken down into discrete classes.

Drivers are found in the system/libraries folder, in their own folder which is identically named to the parent library class. Also inside that folder is a subfolder named drivers, which contains all of the possible child class files.

To use a driver you will initialize it within a controller using the following initialization function:

$this->load->driver('class name');

Where class name is the name of the driver class you want to invoke. For example, to load a driver named "Some Parent" you would do this:

$this->load->driver('some_parent');

Methods of that class can then be invoked with:

$this->some_parent->some_method();

The child classes, the drivers themselves, can then be called directly through the parent class, without initializing them:

$this->some_parent->child_one->some_method();
$this->some_parent->child_two->another_method();

Creating Your Own Drivers

Please read the section of the user guide that discusses how to create your own drivers.