summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/general/ancillary_classes.rst
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide_src/source/general/ancillary_classes.rst')
-rw-r--r--user_guide_src/source/general/ancillary_classes.rst80
1 files changed, 0 insertions, 80 deletions
diff --git a/user_guide_src/source/general/ancillary_classes.rst b/user_guide_src/source/general/ancillary_classes.rst
deleted file mode 100644
index 4d6528aae..000000000
--- a/user_guide_src/source/general/ancillary_classes.rst
+++ /dev/null
@@ -1,80 +0,0 @@
-##########################
-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()
-==============
-
-.. php:function:: get_instance()
-
- :returns: Reference to your controller's instance
- :rtype: CI_Controller
-
-**Any class that you instantiate within your controller methods 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 methods, CodeIgniter 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.
-
-If you'll be using ``get_instance()`` inside another class, then it would
-be better if you assign it to a property. This way, you won't need to call
-``get_instance()`` in every single method.
-
-Example::
-
- class Example {
-
- protected $CI;
-
- // We'll use a constructor, as you can't directly call a function
- // from a property definition.
- public function __construct()
- {
- // Assign the CodeIgniter super-object
- $this->CI =& get_instance();
- }
-
- public function foo()
- {
- $this->CI->load->helper('url');
- redirect();
- }
-
- public function bar()
- {
- $this->CI->config->item('base_url');
- }
- }
-
-In the above example, both methods ``foo()`` and ``bar()`` will work
-after you instantiate the Example class, without the need to call
-``get_instance()`` in each of them.