diff options
author | Derek Jones <derek.jones@ellislab.com> | 2011-10-05 20:34:52 +0200 |
---|---|---|
committer | Derek Jones <derek.jones@ellislab.com> | 2011-10-05 20:34:52 +0200 |
commit | 8ede1a2ecbb62577afd32996956c5feaf7ddf9b6 (patch) | |
tree | 2e960ec3b416b477f40bb546371f2d486f4a22f0 /user_guide_src/source/general/ancillary_classes.rst | |
parent | d1ecd5cd4ae6ab5d37df9fbda14b93977b9e743c (diff) |
replacing the old HTML user guide with a Sphinx-managed user guide
Diffstat (limited to 'user_guide_src/source/general/ancillary_classes.rst')
-rw-r--r-- | user_guide_src/source/general/ancillary_classes.rst | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/user_guide_src/source/general/ancillary_classes.rst b/user_guide_src/source/general/ancillary_classes.rst new file mode 100644 index 000000000..29f176004 --- /dev/null +++ b/user_guide_src/source/general/ancillary_classes.rst @@ -0,0 +1,41 @@ +########################## +Creating Ancillary Classes +########################## + +In some cases you may want to develop classes that exist apart from your +controllers but have the ability to utilize all of CodeIgniter's +resources. This is easily possible as you'll see. + +get_instance() +=============== + +**Any class that you instantiate within your controller functions can +access CodeIgniter's native resources** simply by using the +get_instance() function. This function returns the main CodeIgniter +object. + +Normally, to call any of the available CodeIgniter functions requires +you to use the $this construct:: + + $this->load->helper('url'); $this->load->library('session'); $this->config->item('base_url'); etc. + +$this, however, only works within your controllers, your models, or your +views. If you would like to use CodeIgniter's classes from within your +own custom classes you can do so as follows: + +First, assign the CodeIgniter object to a variable:: + + $CI =& get_instance(); + +Once you've assigned the object to a variable, you'll use that variable +*instead* of $this:: + + $CI =& get_instance(); $CI->load->helper('url'); $CI->load->library('session'); $CI->config->item('base_url'); etc. + +.. note:: You'll notice that the above get_instance() function is being + passed by reference:: + + $CI =& get_instance(); + + This is very important. Assigning by reference allows you to use the + original CodeIgniter object rather than creating a copy of it. |