Cómo Crear Helpers en Laravel (Funciones Globales)
Los helpers son una de las funciones o estructuras que más se usa al momento de programar, estos nos permiten reciclar funcionalidades, mantener el código y respetar el principio de singularidad del patrón SOLID.
A continuación, te muestro las 2 formas en las que uso helpers para mis proyectos en laravel.
Método o Función Global
Esta es la forma más conocida y más usada por todos los desarrolladores que, además de ser fácil de implementar, te permite usar una funcionalidad en cualquier lugar de tu aplicación sin tener que importar o usar nada externo al archivo en el que se va a usar.
Seguidamente, te explico como crear una función global en laravel y registrarla en el composer.json
para que la puedas usar globalmente.
Crear Función Global
Antes de crear nuestra función, vamos a crear una carpeta en el directorio app del root de tu aplicación, en nuestro caso lo hemos llamado Helpers
y dentro hemos creado un archivo de php llamado methods, en el cual deberás crear todos tus métodos o bien separarlos e incluirlos en dicho archivo.
A continuación, te muestro un ejemplo de cómo deben quedar nuestros helpers.
Cómo puedes ver, antes de cada método existe un condicional que verifica que la función no exista o no se haya registrado previamente en nuestra aplicación, de esa forma evitamos que haya un conflicto y se generen errores dentro de nuestro código.
Registrar Helpers
Una vez tienes listo tu archivo de helpers, vamos a registrarlos en el composer.json
usando el path de nuestro archivo dentro de un atributo del autoload llamado files.
Una vez has registrado tus helpers, deberás refrescar el autoload del composer para que laravel pueda hacer uso de estos métodos globalmente.
Sugerencias
Aunque esta forma de crear funciones globales es la que más se usa, personalmente, he hecho una ligera modificación para que sea más sencillo y útil crear esa misma función, evitando tener que escribir el condicional y permitiendo acceder a ellas de forma más rápida y fácil.
Esta modificación de la que te hablo, es simplemente usar un prefijo que no se haya usado en la aplicación, tal y como lo muestro a continuación.
En este caso, el prefijo que he usado es "x_" de manera que cuando quieras usar una función que tu has registrado, simplemente vas a escribir el prefijo "x_" y el idle, en mi caso Visual Studio Code, te mostrará todos las funciones globales que inician con ese prefijo, permitiendote tener un rápido acceso al listado de funciones que has escrito y sobre todo, sin interferir en los métodos del propio framework.