En algunos casos es posible que desee desarrolla clases que existen aparte de tus controladores pero que tienen la capacidad de utilizar todos los recursos de Code Igniter. Esto es fácilmente posible usando las funciones get_instance().
Cualquier clase que crea una instancia en las funciones de su controlador puede acceder a los recursos nativos de Code Igniter simplemente usando la función get_instance(). Esta función devuelve el objeto Code Igniter principal.
Normalmente, para llamar a cualquiera de las funciones disponibles CodeIgniter requiere el uso de la $ este constructo :
$this->load->helper('url');
$this->load->library('session');
$this->config->item('base_url');
etc.
$ esto, sin embargo, sólo funciona dentro de sus controladores, sus modelos o sus puntos de vista.Si desea utilizar las clases de CodeIgniter desde dentro de sus propias clases, puede hacerlo de la siguiente manera:
En primer lugar, asigne el objeto CodeIgniter a una variable:
$obj =& get_instance();
vez que haya asignado la objeto a una variable, que va a utilizar esa variable en lugar de $ este:
$obj =& get_instance();
$obj->load->helper('url');
$obj->load->library('session');
$obj->config->item('base_url');
etc.
Nota: n voy Otice que el función anterior get_instance() se pasa por referencia:
$obj =& get_instance();
Esto es muy importante. Asignar por referencia le permite usar el objeto Code Igniter original en lugar de crear una copia del mismo.
Usted puede leer acerca de esta función desde here
Cuando usar IC súper objeto y por qué? ¿Puede indicarme alguna documentación de CI sobre el súper objeto CI? – Girish
el enlace al código fuente está dando 404. – Bugfixer
+1 por apuntar al uso de ** REEMPLAZO ** por '$ CI = & get_instance();' Estaba golpeando mi cara en los documentos en busca de eso ... – HomeOffice