Comparte en Facebook Twitter Google+

De manera general un helper es una función de ayuda que realiza una tarea o procedimiento específico y que su uso puede repetirse una y otra vez a lo largo de nuestro proyecto. Esto permite que evitemos seguir escribiendo tal procedimiento en muchos lugares, como por ejemplo, puede ser alguna función común que utilicemos en la mayoría de los controladores o vistas. Para este propósito se pueden crear helpers que ayuden simplificar nuestro código.

Laravel nos ofrece algunos helpers que son de gran utilidad en nuestras nuestras aplicaciones. Éstos se encuentran definidos en dos archivos del código fuente del framework:  src/Illuminate/Support/helpers.php y  src/Illuminate/Foundation/helpers.php 

Los helpers de Laravel están clasificados en varias categorías como pueden ser:

  • los que nos permiten interactuar con arrays: array_add() para agregar un nuevo par clave/valor, head() y last() para saber el primer elemento y último elemento, etc
  • los relacionados con las rutas o paths: app_path(), storage_path(), public_path(), entre otros que nos devuelven la ruta exacta de los directorios app, storage y public respectivamente
  • los helpers para manipular strings:  str_limit() para limitar el número de caracteres de un string, trans() que permite traducir un texto, str_slug() para generar un URL amigable, etc.
  • los helpers para trabajar URL como: assets(), url(), route(), etc.
  • y los de uso diverso como son: dd(), csfr_token(), auth(), collect(), env(), back(), with(), etc.

Para conocer cada uno de ellos y saber cómo funcionan puedes consultar la documentación oficial.

Pero ¿qué pasa cuando necesitamos una función que no está definida en Laravel por defecto? en ese caso, podemos crear nuestros propios helpers, no sólo para tener funciones reusables en el proyecto sino también para extender alguna funcionalidad del framework o adaptar algún procedimiento al modelo de negocio, y hacer que composer haga la autocarga por nosotros.

Creación de Helper 

Crea un archivo llamado helpers.php en el directorio app. Puedes ubicar el archivo en cualquier otro lugar si lo deseas, el cual contendrá para este ejemplo:

Modifica tu composer.json y para agregar la carga del archivo con la clave files dentro de la sección autoload de la siguiente manera:

Por último, ejecutar en consola:

Para usar la función tan sólo debes escribir dicha función en algún controlador o vista donde quieras trabajar el usuario conectado, por ejemplo en una vista, podemos usar lo siguiente para obtener el nombre del usuario conectado:

Así ahora puedes escribir tantas funciones como quieras en el archivo helpers.php y usarlas en cualquier parte de la aplicación.

Material relacionado

Regístrate hoy en Styde y continua mejorando tus habilidades: ver planes.

Lección anterior Modificando migraciones en Laravel Lección siguiente Manejo de errores y excepciones en Laravel 5.1