Acceder al objeto CI dede los helpers

0

Se puede presentar el caso de que necesitemos acceder a la base de datos desde nuestro propio helper, alguna función podría requerir trabajar con determinada librería y desde el helper no podríamos trabajarlo como lo hacemos desde el modelo o el controlador.

Aún, si desde el autoload.php se carga la librería por defecto, si no se ha instanciado al objeto, no podremos trabajar con el.

Para crear la instancia al objeto CodeIgniter desde el helper, lo podemos hacer de la siguiente manera:

$CI =& get_instance();

y luego dependiendo de lo que se desee hacer, cargar las librerías que necesitemos, ejemplo:
$CI->load->database();
$CI->load->library('session');

ya luego si podemos trabajar con el objeto:
$query = $CI->db->query($sSQL);

ejemplo:
/*
   @verifica la existencia del RIF dentro de la tabla dada
*/
if ( ! function_exists('existe_rif'))
{
    function existe_rif($sRIF,$sTabla='clientes'){
   
       if (empty($sRIF)) return false;
      
       $CI =& get_instance();
       $CI->load->database();
       
       $query = $CI->db->query('SELECT rif FROM '.$sTabla.' WHERE rif=?',array($sRIF));
      
       return ($query->num_rows() > 0) ? true : false;
   }
}

Las ventajas de trabajar con nuestro propio helper:
- podemos acceder a nuestras funciones cuando y donde sea necesario, ejemplo:
if (!existe_rif('v4567893456')) ...

- podemos indicar que el helper se cargue automáticamente (codeigniter -> applicattion -> config -> autoload.php):

// indicamos que helpers se cargaran por defecto
$autoload['helper'] = array('url','mod_ppal')//mod_ppal_helper.php

64x64

Escrito por Reinaldo Cassiani (Cass)

coder venezolano con más de 5 años de experiencia en el Desarrollo Web, encariñado con el arte digital y la tecnología en general. "un mortal más en la red"..
Si quieres estar al tanto de las ultimas publicaciones de Cassianet, te invito a suscribirte a mi feed con tu lector de RSS preferido, suscribirte por Twitter, Facebook o recibe las entradas por E-mail.
Todas las suscripciones son completamente gratis, animate!
¿Qué es RSS? - ¿Cómo recibir RSS? - ¿Qué es un lector RSS?

Dejar un comentario..!

- Los comentarios están siendo moderados y serán publicados en la brevedad posible.