Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

314
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!