Personnalisé des classes d'assistance dans Laravel 5.4
J'ai des classes d'assistance dans app/Helpers
. Comment puis-je charger ces classes à l'aide d'un service provider
de les utiliser dans la lame modèles?
par exemple Si j'ai une classe CustomHelper
qui contient une méthode fooBar()
:
<?php
nampespace App\Helpers;
class CustomHelper
{
static function fooBar()
{
return 'it works!';
}
}
Je veux être en mesure de faire quelque chose comme cela dans ma lame modèles:
{{ fooBar() }}
au lieu de faire ceci:
{{ \App\Helpers\CustomHelper::fooBar() }}
P. S: @andrew-brown réponse dans Les meilleures pratiques pour l'aide personnalisée sur Laravel 5 traite les fichiers de classe. Il serait agréable d'avoir une classe en fonction de la solution, de sorte que les fonctions d'assistance peut être organisé entre les classes.
laravel.io/forum/...
aussi stackoverflow.com/a/32772686/2359679
Vous souhaitez mettre en place une classe en fonction de la solution, mais l'utiliser comme une fonction globale? Ne pense pas que c'est possible dans n'importe quelle langue, sans parler de PHP ou laravel
aussi stackoverflow.com/a/32772686/2359679
Vous souhaitez mettre en place une classe en fonction de la solution, mais l'utiliser comme une fonction globale? Ne pense pas que c'est possible dans n'importe quelle langue, sans parler de PHP ou laravel
OriginalL'auteur byteseeker | 2017-04-02
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que c'est possible de l'utiliser seulement quand vous avez le code dans vos classes. Eh bien, vous pourriez essayer de l'extension de la Lame, mais c'est beaucoup trop.
Ce que vous devez faire est de créer un fichier supplémentaire, par exemple
app\Helpers\helpers.php
et dans votre compositeur.fichier json:créer
app/Helpers/helpers.php
fichier et de l'exécuterMaintenant dans votre
app/Helpers/helpers.php
fichier, vous pouvez ajouter ces fonctions personnalisées, par exemple comme ceci:si vous définissez des fonctions globales, mais en fait, tous d'entre eux peuvent utiliser des méthodes publiques de certaines classes.
Par la façon dont c'est exactement ce que Laravel le fait pour ses propres aides par exemple:
comme vous le voyez
array_add
est seulement plus courte (ou peut-être moins détaillé) de l'écritureArr::add
OriginalL'auteur Marcin Nabiałek