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


Error en modificacion de datos

Hola, Estoy teniendo un error con laravel (5.7) y no le puedo encontrar la vuelta.

Mi problema:

Tengo una lista de usuarios la cual tiene 3 botones (ver, activar y eliminar) mi problema viene con el boton activar el cual activa o desactiva un usuario segun su estado ( si esta activado lo desactiva y si esta desactivado lo activa), pero cuando presiono el boton me tira ...

Como crear un array y almacenarlo en una Base de Datos

Necesito ayuda con un problema, estoy haciendo un tipo de sistema de facturación y los servicios que se van a facturar los quiero guardar en un array, luego éste array almacenarlo en una sola columna de la base de datos. No tengo mucho conocimientos de Arrays. Pero ya había trabajado en una tienda virtual y la parte del carrito la hacía así, con un array.

El punto es qu...

owen-it / laravel-auditing

saludos a la comunidad necesitaría de su ayuda con esta librería   ooowen-it / laravel-auditing para un proyecto en laravel de echo encontré material pero no me es fácil entenderlo (auditoria de usuarios este es link https://pusher.com/tutorials/realtime-audit-trail-laravel me ayudaría mucho un videotutorial gracias!...

No puedo instalar el paquete de shinobi

soy nuevo en esto , estoy viendo su curso de roles y permisos en su canal de youtube, necesito instalar el paquete de shinobi pero no se puede, me sale lo siguiente:

Problem 1 - Installation request for caffeinated/shinobi ^3.3 -> satisfiable by caffeinated/shinobi[v3.3]. - Conclusion: remove laravel/framework v5.8.4 - Conclusion: don't install laravel/fr...