diff options
author | Kyle Farris <kylefarris@kylefarris.gotdns.org> | 2011-10-14 18:48:53 +0200 |
---|---|---|
committer | Kyle Farris <kylefarris@kylefarris.gotdns.org> | 2011-10-14 18:48:53 +0200 |
commit | 974cc5757e1da3a89af7b9bc700b805ba05dd3bb (patch) | |
tree | 109313ba07a2eed2bb8d015ef5f6af8f9205dae2 /user_guide_src/source/general/drivers.rst | |
parent | 6636cef6fc457b3a0490d051587cb430aa0021d0 (diff) | |
parent | a2125a5d830fd390b4cf35f77e9bb0558cfa2dd7 (diff) |
Merged with develop and updated to new changelog.
Diffstat (limited to 'user_guide_src/source/general/drivers.rst')
-rw-r--r-- | user_guide_src/source/general/drivers.rst | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/user_guide_src/source/general/drivers.rst b/user_guide_src/source/general/drivers.rst new file mode 100644 index 000000000..e2ded62e2 --- /dev/null +++ b/user_guide_src/source/general/drivers.rst @@ -0,0 +1,40 @@ +######################### +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>`. |