18-08-2025

Crear helpers en laravel 11: guía y ejemplos

En Laravel un helper es una función o clase auxiliar diseñada para realizar tareas comunes de manera sencilla y reutilizable en toda la aplicación. Los helpers simplifican el código, mejoran la legibilidad y evitan repetir lógica en múltiples lugares. En Laravel 11, los helpers pueden ser funciones globales integradas, funciones personalizadas o clases con métodos estáticos. A continuación, te explico qué son, cómo funcionan y su propósito de forma clara y concisa.
Para crear un helper hay que:
  1. Crear la carpeta "App/Helpers". Si no existe.
  2. Crear una clase dentro de esa carpeta.
  3. Dentro de esa clase invocar al namespace de los helpers: "namespace App\Helpers;".
  4. Crear la clase con sus métodos.
  5. Invocar al helper dentro de la clase donde se vaya a usar: use "App\Helpers\NombreDelHelper;".
  6. Instanciar el objeto de la clase helper y usarla como una clase normal.
Ejemplo de helper con una clase:

namespace App\Helpers;

class CurrencyHelper
{
/**
 * Formatea un monto numérico como moneda.
 *
 * @param float $amount
 * @param string $currency
 * @return string
 */
public static function format($amount, $currency = 'USD')
{
return $currency . ' ' . number_format($amount, 2, '.', ',');
}

/**
 * Convierte un monto a otra moneda (ejemplo simple).
 *
 * @param float $amount
 * @param string $fromCurrency
 * @param string $toCurrency
 * @return float
 */
public static function convert($amount, $fromCurrency, $toCurrency)
{
// Ejemplo: tasa de conversión fija (puedes usar una API real)
$rates = [
  'USD' => ['EUR' => 0.85],
  'EUR' => ['USD' => 1.18],
];

return $amount * ($rates[$fromCurrency][$toCurrency] ?? 1);
}
}
En el ejemplo anterior se crear el helper "CurrencyHelper". Ahora para usarlo en un controlador, sería de la siguiente manera:

namespace App\Http\Controllers;
use App\Helpers\CurrencyHelper;
...
class ChangeCurrencytontroller extends Controller
{
.....
public funcion showCurrencyFormat(){
...
//llamada a método estático
 $formatted = CurrencyHelper::format(1234.567);
//Si el helper CurrencyHelpertuviese un método public sería
$currencyHelperOBJ = new CurrencyHelper();
$currencyHelperOBJ->nombreMetodo();
...

}