Laravel

Cómo crear helpers en Laravel

En algunas ocasiones necesitamos crear una serie de funciones de ayuda para funciones muy variadas. En Laravel lo podemos conseguir gracias a los helpers.

Drauta agencia digitalDrauta

 Cómo crear helpers en Laravel

¿Cómo crear funciones de ayuda en Laravel?

A veces necesitamos sustituir una serie de caracteres determinados de un texto, formatear un número y que su salida cuente con exactamente 2 decimales y un símbolo (como el de €), etc. Esto es más sencillo gracias a los helpers de Laravel.

Estas operaciones las podemos necesitar en varios lugares de nuestra aplicación, el "formato dinero" podríamos añadirlo en nuestra clase "Producto", pero podríamos tener "Producto", "Suscripción" y "Donación", así que o bien hacemos una clase "Comprable" y que estas otras 3 la extiendan o creamos un helper. En algunas ocasiones saber qué decisión es la correcta es fácil, pero en este caso no se ve a simple vista cuál de las dos opciones es más correcta (aunque las dos funcionen correctamente). Si escogemos el helper, ¿cómo lo programamos?

Podemos crear "app/helpers.php" y después añadirlo a composer.json en el apartado "autoload" con la "key" "files", que es un array, como "classmap". Una vez realizado este cambio tendremos acceso a todas las funciones que declaremos en nuestros "app/heplers.php" desde cualquier lugar de nuestro código.

También a la hora de definir estas funciones podemos utilizar la función "funciton_exists" para decidir si la creamos o no, así podríamos o bien sobrescribir un helper ya existente o evitar crear el nuestro si ya contamos con uno existente con ese nombre y así "no romper nada".

El uso de "funcion_exists" es obligatorio si lo que estamos creando es un "package", así no forzaremos al usuario que utilice nuestro helper a utilizar el nuestro si no lo desea (o a romperle sin avisar un helper que él haya creado).

¿Quieres empezar un nuevo proyecto con nosotros?

¿Necesitas servicios para tu web? Descubre como te podemos ayudar y no dudes en contactar con nosotros.