Crear funciones de ayuda o helpers en Laravel

- Andrés Cruz

In english
Crear funciones de ayuda o helpers en Laravel

En Laravel, un helper es una función de alcance global lo que significa que desde cualquier clase de componente, controlador, modelo, vista… podemos acceder a la misma para desencadenar su funcionalidad correspondiente. Los helpers no son algo inventado por Laravel, existen en multitud de otros frameworks; los helpers han ganado cada vez más cabida en las últimas versiones de Laravel, creando funciones de ayuda para otros procesos que anteriormente eran Facade (que se consideran antipatrones), por lo tanto, podemos usar los del sistema o crear nosotros los propios como mostraremos en esta entrada.

Las funciones de ayuda o helpers son funcionalidades que podemos crear a lo largo de la app que son de propósito general; generalmente NO están vinculadas a un proceso o lógica de negocio, si no son funciones de propósito más general como la de hacer algún proceso con textos, números, imágenes... y en Laravel por supuesto podemos crear este tipo de procesos o funciones de ayuda: para eso, tenemos que cumplir 3 sencillos pasos:

1. Crear el archivo con las funciones

Tenemos que crear en alguna parte de nuestro proyecto la función de ayuda, generalmente lo hacemos dentro de app, en algún directorio, por ejemplo, una carpeta llamada Helpers:

<?php
namespace App\Helpers;
class Helper{
   public static function hello(string $hello){
       return "Hola $hello";
   }
}

Allí, definimos todas nuestras funciones, inclusive podemos crear más archivos con funciones de ayuda en caso de que quieras tener algún orden en tus funciones; es importante mencionar que puedes crear tantos archivos de ayuda en esta carpeta (u otras carpetas o subcarpetas) para tu aplicación, por lo tanto, no estas limitado a un único archivo.

2. Registrar en el composer.json

Una vez creada tus archivos o archivo de ayuda con tus funciones, lo siguiente que tenemos que hacer, sería registrarlo para poder emplearlo de manera global en el proyecto; para esto, tenemos que registrarlo en una regla llamada autoload, en la key de files, coloca la referencia a tus archivos helpers:

"autoload": {
       "psr-4": {
           "App\\": "app/"
       },
       "files" : ["app/Helpers/Helper.php"],
       "classmap": [
           "database/seeds",
           "database/factories"
       ]
   },

Aquí lo mismo, por cada archivo de ayuda que tengas, lo registras en el array de files.

3. Refrescar dependencias

Con todo correctamente registrado, lo siguiente que tenemos que hacer es ejecutar un comando de composer para que al igual que ocurre con cualquier otro paquete de Laravel, lo indexe en nuestro archivo de arranque de composer:

composer dump-autoload

Ya con esto podemos emplear nuestras funciones en cualquier parte de nuestro proyecto como vemos en el video anexo en nuestro en este Post.

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.