diff options
author | Eric Barnes <eric@ericlbarnes.com> | 2011-11-27 06:30:22 +0100 |
---|---|---|
committer | Eric Barnes <eric@ericlbarnes.com> | 2011-11-27 06:30:22 +0100 |
commit | 7e66dda705743cbfe1d522ddb73e5694006ec42c (patch) | |
tree | c08b63deb28c09ec49d9173280f1ca234debfe50 /user_guide_src/source/general/drivers.rst | |
parent | 7eceb03f083643254c7393c6b5ebe539e344a1ba (diff) | |
parent | e101593561a10632c1d63180436b19f1d7115046 (diff) |
Merge branch 'refs/heads/develop' into feature/unit-tests
Conflicts:
user_guide/helpers/number_helper.html
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>`. |