40 lines
1.4 KiB
ReStructuredText
40 lines
1.4 KiB
ReStructuredText
#########################
|
|
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>`. |