Back to Codeigniter

Using CodeIgniter Drivers

user_guide_src/source/general/drivers.rst

3.1.131.4 KB
Original Source

######################### 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 :doc:controllers <controllers> for libraries that benefit from or require being broken down into discrete classes.

Drivers are found in the system/libraries/ directory, in their own sub-directory which is identically named to the parent library class. Also inside that directory is a subdirectory 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 method::

$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 :doc:create your own drivers <creating_drivers>.