summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/general/drivers.rst
diff options
context:
space:
mode:
authorDerek Jones <derek.jones@ellislab.com>2011-10-05 22:08:21 +0200
committerDerek Jones <derek.jones@ellislab.com>2011-10-05 22:08:21 +0200
commit4f0c8cb509f1a16e62bc1ddf23d035fcb06e0214 (patch)
treee0514a8f423613cfb31717e71c04ba186df1b0ae /user_guide_src/source/general/drivers.rst
parent044a5221843cc2d88b936f3e658a1df4bc28cfe2 (diff)
parent57ccd441085a4d387a0c7acdd7eec00ff9c1077a (diff)
Merge branch 'develop' of github.com:EllisLab/CodeIgniter into develop
Diffstat (limited to 'user_guide_src/source/general/drivers.rst')
-rw-r--r--user_guide_src/source/general/drivers.rst39
1 files changed, 39 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..8d0d84aaa
--- /dev/null
+++ b/user_guide_src/source/general/drivers.rst
@@ -0,0 +1,39 @@
+#########################
+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>`.