diff options
author | Joël Cox <joel@joelcox.nl> | 2011-10-09 18:45:09 +0200 |
---|---|---|
committer | Joël Cox <joel@joelcox.nl> | 2011-10-09 18:45:09 +0200 |
commit | 8ffcb2c8c7ef3da54d7e46c29d502533e413c820 (patch) | |
tree | 1f94e2e81b4d20f2df827b8a84eeda27032161a1 /user_guide_src/source/general/ancillary_classes.rst | |
parent | f4fb1db458fab52d0493ead52c9ea7e01206eaa7 (diff) | |
parent | 6858c0753a7221796d6a5a1d7fea93cc2f9feb2e (diff) |
Merged develop branch in tutorial.
Diffstat (limited to 'user_guide_src/source/general/ancillary_classes.rst')
-rw-r--r-- | user_guide_src/source/general/ancillary_classes.rst | 49 |
1 files changed, 49 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..f7c87011b --- /dev/null +++ b/user_guide_src/source/general/ancillary_classes.rst @@ -0,0 +1,49 @@ +########################## +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. |