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
- Los comentarios están siendo moderados y serán publicados en la brevedad posible.