Cargando



Librerías y Helpers - Codeigniter

Qué diferencia hay entre una librería y un helper? Una librería suele ser una clase que aporta una serie de funcionalidades especificas, manejar fechas, bases de datos, apis de graficos o pdf, etc y dichas funcionalidades comparten información.
Por ejemplo, una librería que permita acceder al API de Twitter necesita que sus métodos compartan datos como la clave y el nombre de usuario, por ello lo ideal es tener una clase que permita guardar esa información.


mar 05 2014 23:19
Avanzado
mar 20 2014 15:57

codeigniter-logo.png


¿Qué diferencia hay entre una librería y un helper? Una librería suele ser una clase que aporta una serie de funcionalidades especificas, manejar fechas, bases de datos, apis de graficos o pdf, etc y dichas funcionalidades comparten información.
Por ejemplo, una librería que permita acceder al API de Twitter necesita que sus métodos compartan datos como la clave y el nombre de usuario, por ello lo ideal es tener una clase que permita guardar esa información.

Por otro lado, un helper se puede entender como un grupo de funciones que, aunque compartan un ámbito de uso, son independientes entre sí.
Por ejemplo helper para formularios donde todos los elementos son para facilitar la cel uso de componentes input, textarea, etc.


Creando una libreria en Codeigniter

Un ejemplo de libreria para manejo de fechas, en el directorio application/libraries, y copiar el siguiente código. Es una clase con dos metodos que permite cambiar la fecha de formato mysql aaaa-mm-dd a dd/mm/aaaa y viceversa.


<? class Fechas {

//Convierte fecha de mysql a español
function fecha_normal($fecha){
$mifecha=explode('-',$fecha);
$lafecha=$mifecha[2]."/".$mifecha[1]."/".$mifecha[0];
return $lafecha;
}

//Convierte fecha de español a mysql
function fecha_mysql($fecha){
$mifecha=explode('/',$fecha);
$lafecha=$mifecha[2]."-".$mifecha[1]."-".$mifecha[0];
return $lafecha;
}
} ?>

CodeIgniter nos indica las siguientes pautas a la hora de nombrar las líbrerias:

El nombre del fichero debe empezar por mayúscula.
El nombre de la clase debe empezar por mayúscula.
Los nombres de la clase y del fichero deben coincidir.
El nombre de los metodos deben ir en minuscula

Luego cuando necesitemos la libreria la invocamos desde un controlador de la siguiente manera.



<? $this->load->library('fechas');
//Convierto fecha a formato mysql
$fecha=$this->fechas->fecha_mysql($fecha); ?>

El load de la libreria lo puedo hacer en el metodo construct del controlador para llamarla una sola vez.

Las librerias nos permiten añadir codigo a media que necesitemos nuevas funcionalidades para luego reutilizarlas.


Helper en Codeingiter


Los helpers son una de las dos bibliotecas de código disponibles en CodeIgniter y la más sencilla de manejar en un principio, puesto que son funciones que están a nuestra disposición sin depender de ningún objeto.

Podemos decir que los helpers son juegos de funciones, ordenados por temática en diferentes paquetes, que nos ayudan en la realización de tareas habituales en las aplicaciones web. Existen helpers para muchas cosas distintas, como para trabajo con arrays, fechas, cookies, emails, URLs, formularios, etc.

Por ejemplo el helper url lo invocamos de la siguinete manera:


<? $this->load->helper('url');
//podemos crear un popup
$atts = array(
'width' => '800',
'height' => '600',
'scrollbars' => 'yes',
'status' => 'yes',
'resizable' => 'yes',
'screenx' => '0',
'screeny' => '0'
);

echo anchor_popup('midominio.com', 'Click Aqui!', $atts); ?>

También hacer redirecciones como por ejemplo:

<? if ($usuariologin == FALSE)
{
redirect('login, 'refresh');
}
?>

También hay helper para formularios como por ejemplo un formulario de login:

<?php echo form_open( 'login' ); ?>
<?php echo form_fieldset( 'Acceso usuario' ); ?>

<?php echo form_label( 'Usuario', 'usu' ); ?>
<?php echo form_input( 'usu' ); ?>

<?php echo form_label( 'Clave', 'pass' ); ?>
<?php echo form_password( 'pass' ); ?>

<?php echo form_submit( 'login', 'Login' ); ?>

<?php echo form_fieldset_close(); ?>
<?php echo form_close(); ?>

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X