Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

321
Visualizações
Clases auxiliares personalizadas en Laravel 5.4

Tengo algunas clases de ayuda en app/Helpers . ¿Cómo cargo estas clases con un service provider para usarlas en plantillas de hoja?

por ejemplo, si tengo una clase CustomHelper que contiene un método fooBar() :

 <?php nampespace App\Helpers; class CustomHelper { static function fooBar() { return 'it works!'; } }

Quiero poder hacer algo como esto en mis plantillas de hoja:

 {{ fooBar() }}

en lugar de hacer esto:

 {{ \App\Helpers\CustomHelper::fooBar() }}

PD: la respuesta de @andrew-brown en Mejores prácticas para ayudantes personalizados en Laravel 5 trata con archivos que no son de clase. Sería bueno tener una solución basada en clases para que las funciones auxiliares se puedan organizar entre clases.

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No creo que sea posible usar solo la función cuando tienes código en tus clases. Bueno, podrías intentar extender Blade pero es demasiado.

Lo que debe hacer es crear un archivo adicional, por ejemplo app\Helpers\helpers.php y en su archivo composer.json poner:

 "autoload": { "classmap": [ "database" ], "psr-4": { "App\\": "app/" }, "files": ["app/Helpers/helpers.php"] // <- this line was added },

crear el archivo app/Helpers/helpers.php y ejecutar

 composer dump-autoload

Ahora, en su archivo app/Helpers/helpers.php , puede agregar esas funciones personalizadas, por ejemplo, como esta:

 if (! function_exists('fooBar')) { function fooBar() { return \App\Helpers\CustomHelper::fooBar(); } }

por lo que define funciones globales pero, de hecho, todas ellas pueden usar métodos públicos específicos de algunas clases.

Por cierto, esto es exactamente lo que Laravel hace por sus propios ayudantes, por ejemplo:

 if (! function_exists('array_add')) { function array_add($array, $key, $value) { return Arr::add($array, $key, $value); } }

como puede ver, array_add es solo una forma más corta (o quizás menos detallada) de escribir Arr::add

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda