Crear Helpers personalizados en Laravel

Crear Helpers en Laravel

En Laravel hemos visto que podemos hacer uso de url(), asset(), abort(), env() y muchos más.

Pero, ¿cómo puedo crear mis propios helpers?, ese es el objetivo de este post.

Podemos decir que un helper es una función (function) normal, como las usadas en la programación estructurada, su objetivo es ayudar a realizar tareas específicas y que podemos utilizar muchas veces a lo largo del sistema. Esto nos ayuda a dejar de escribir esas tres (3) o varias líneas de código una y otra vez.


Ejemplo:

Sin el uso de un helper podría escribir algo así {{ auth()->user()->profile->avatar; }} para imprimir en pantalla el avatar del usuario logueado.

Creando un helper podría solamente escribir {{ avatar() }}.

¿Entiendes la idea?, es sencillo en realidad.

Todos los helpers de Laravel están aquí, puedes revisarlos para evitar hacer algo que ya esté hecho. Verás la clasificación que tiene y la forma interesante que están ordenados:

  • Strings
  • Paths
  • URLs
  • Arrays & Objects
  • Miscellaneous

Ahora, ¿podemos crear nuestros propios helpers?, la respuesta es si, por eso estás aquí... Recuerda que su objetivo es reusar y extender un poco la capacidad de Laravel

Paso uno, crear archivo helpers.php

Este archivo por lo general se crea en la carpeta app/, quedaría como app/helpers.php. Allí dentro vamos a crear las funciones o "helpers" que necesitemos...

Una función es un helper.

<?php

    function avatar(){
        return auth()->user()->profile->avatar;
    }

Paso dos, modificamos el archivo composer.json

Este cambio lo hacemos en la sección de autoload, ejemplo:

    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "files": [
            "app/helpers.php"
        ]
    },

Observa que está la llave psr-4, y justo luego mi adición del helper.

Paso tres

Ejecutamos en la consola el comando composer dump-autoload, de esta manera damos de alta realmente al nuevo archivo en composer, y de inmediato podemos hacer uso de nuestros helpers en el sistema.

Paso cuatro

Ve y usa tu nuevo helper... {{ avatar() }} y los que necesites o gustes.

Dentro de ese archivo puedes escribir tantas funciones o "helpers" necesites, y hacer uso de ellas en cualquier parte del sistema.

Adquiere en preventa y aprovecha un gran descuento TDD en Laravel

Comparte en

Creado por: Venezuela Italo Morales

Profesor de #Laravel y #PHP en Rimorsoft Online

Más información


envio de mail desde el propio mail de usuario autentificado

hola, como puedo enviar los mails desde laravel, pero obteniendo el mail del usuario autentificado y que se envie con el correo electronico de este? Es decir, que si el mail de user autentificado es nada@nada.es, el mail salga desde laravel enviado a traves de esa direccion de correo electronico..gracias...

Como instalar el ckeditor en vuejs?

https://github.com/dangvanthanh/vue-ckeditor2...

Como insertar una imagen en un reporte con Laravel Excel maatwebsite

Necesito ayuda con un reporte que estoy haciendo: para empezar requiero de que mi reporte en excel tenga el logo de la empresa en la parte superior de el reporte, luego tambien nesecito que algunos graficos que genero se muestren en imagen dentro del reporte. ya he tengo reportes con multiples hojas y diversos estilos. lo unico que me faltaria seria poner una o varias imagene...

agregar una columna originada de una variable a un select para hacer un insert

/en php -mysql/ /esto funciona con php , pero no logro hacerlo en laravel query builder/