Los helpers en CodeIgniter son unos archivos que guardan un conjunto de funciones definidas de manera global en toda nuestra aplicación basadas en una mismas clasificación o en un mismo tipo.
Los helpers son una de las dos formas que existen para extender funcionalidades específicas en la plataforma; la otra son las librerías; otra definición que pueden tener es una biblioteca de funciones que resuelven elementos típicos y en una categoría en particular.
En resumen, los helpers son una manera sencilla que tenemos para crear funcionalidades en CodeIgniter; son un juego de funciones relacionadas que están almacenadas en un único archivo.
Los Helper en CodeIgniter
CodeIgniter cuenta con múltiples Helper que podemos ver en la documentación oficial.
CodeIgniter no carga helper por defecto, todos los helpers que queramos emplear deben ser cargados ya sea por el autoload o por la manera tradiconal.
Los helpers de sistema están almacenados en system/helpers
mientras que los helpers que nosotros vayamos a definir están almacenados en system/application/helpers
Trabajando con los helpers en CodeIgniter
Los helper en CodeIgniter se encuentran almacenados en la carpeta system/helpers
; que como verás, tienen distintos propósitos, para trabajar con las URLs, textos, fechas, captchas, etc.
Cargar helper en CodeIgniter
Para cargar un helper como en CodeIgniter podemos hacerlo de manera individual de la siguiente forma:
$this->load->helper('helper');
O podemos cargar varios de ellos de la siguiente forma:
$this->load->helper(array('helper1', 'helper2', 'helper3'));
También podemos realizar la carga de manera automatizada para que esté disponible en todo el ámbito de nuestra aplicación de la siguiente forma:
application/config/autoload.php
Por ejemplo:
$autoload['helper'] = array('html', 'url', 'form', 'utils_helper');
En general, podemos realizar las cargas de manera muy similar a lo que nos permite CodeIgniter en el resto de los elementos, como las librerías o los modelos.
Crear nuestros propios helpers
Este es uno de los componentes en CodeIgniter que podemos crear nosotros; es decir, podemos tener nuestros helpers personalizados; por ejemplo, vamos a crear un helper llamado utils_helper
en el siguiente directorio:
application\helpers\
Es decir:
application\helpers\utils_helper.php
Y vamos a definir la siguiente función:
if (!function_exists('format_dates')) {
function format_dates($date) {
$CI = & get_instance();
$date = new DateTime($date);
return $date->format('d/m h:m');
}
}
También podemos definirla de la siguiente forma:
function format_dates($date) {
$CI = & get_instance();
$date = new DateTime($date);
return $date->format('d/m h:m');
}
En general, esta función lo que hace es es dado una fecha, devuelve la fecha en otro formado. También podemos definir las funciones que necesitemos, aunque recuerda, que deben de ser funciones de la misma clase; por ejemplo:
function format_dates($date) {
$CI = & get_instance();
$date = new DateTime($date);
return $date->format('d/m h:m');
}
function format_dates_other_contry($date) {
// hacer algo
}
Y así de simple, definimos dos funciones para un mismo helper; para emplear alguna de las funciones anteriores, primero debemos de cargar el helper
$this->load->helper('name');
Y luego simplemente invocamos al método en donde queramos:
format_dates($date);
Extender helpers en CodeIgniter
También podemos agregar nuevas funciones o características sobre los helpers que ya existen o sobre los nuestros; aunque lo común es extender funciones sobre los ya existentes; es decir, sobre los helpers que se encuentran almacenados en system/helpers
; para ello debemos de crear nuestros helpers en la carpeta system/application/helpers
y y nombrarlo como el helper original pero con el prefijo "MY_"; así de simple.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter