blob: 8d0d84aaaf07d9b8b2436e932d16b5d21a0eb69d [file] [log] [blame]
#########################
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 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 :doc:`create
your own drivers <creating_drivers>`.