Maison > cadre php > Laravel > Comment Laravel inclut-il ses propres fonctions d'assistance ?

Comment Laravel inclut-il ses propres fonctions d'assistance ?

Guanhui
Libérer: 2020-06-24 18:00:39
avant
2893 Les gens l'ont consulté

Comment Laravel inclut-il ses propres fonctions d'assistance ?

De nombreux didacticiels diront que vous pouvez répondre à cette exigence en ajoutant un fichier chargé automatiquement dans le fichier composer.json. Mais je pense que ce n'est pas une bonne méthode, lorsque vous ajoutez plus de fonctions dans le fichier helpers.php, la lisibilité deviendra mauvaise.

Ci-dessous, je présenterai une manière qui vous permet de définir de nombreux fichiers pour contenir différentes fonctions. Cela rendra notre programme plus propre et plus lisible.

Commençons

Créez d'abord un fichier de fournisseur de services HelperServiceProvider.php :

php artisan make:provider HelperServiceProvider
Copier après la connexion

En utilisant la commande ci-dessus, vous serez dans le appProviders fichier Pour générer HelperServiceProvider.php

vous pouvez simplement supprimer la méthode boot(), nous ne l'utiliserons pas ici.

Dans la méthode register(), nous ajoutons le code suivant :

public function register(){
    foreach (glob(app_path('Helpers') . '/*.php') as $file) {
        require_once $file;
    }}
Copier après la connexion

Cette boucle parcourra tous les fichiers du répertoire app/Helpers Comme vous l'avez peut-être deviné, vous pouvez maintenant en créer n'importe lequel. ci-dessous et ils seront chargés dans votre application. Ces fonctions d'assistance sont accessibles n'importe où dans votre code (vues, modèles, contrôleurs...)

Nous devons également charger ce fournisseur de services, ouvrez config/app.php et placez HelperServiceProvider au dessus de votre AppServiceProvider

...App\Providers\HelperServiceProvider::class,App\Providers\AppServiceProvider::class,App\Providers\AuthServiceProvider::class,App\Providers\BroadcastServiceProvider::class,...
Copier après la connexion

Créons maintenant une fonction simple qui crée un fichier app/Helpers dans le répertoire Carbon.php, le fichier contient le code suivant :

<?php/**
 * Carbon helper
 *
 * @param $time
 * @param $tz
 *
 * @return Carbon\Carbon
 */function carbon($time = null, $tz = null){
    return new \Carbon\Carbon($time, $tz);}
Copier après la connexion

Vous n'avez pas besoin d'ajouter d'espaces de commande. Si vous le souhaitez, vous pouvez utiliser function_exists pour détecter si cette fonction existe.

Vous pouvez désormais utiliser les fonctions d'assistance carbon() n'importe où dans votre application. Maintenant, si vous avez besoin d'une autre fonction qui renvoie un format spécifique (juste pour le cas d'utilisation de ce tutoriel), vous pouvez saisir cette fonction dans le même fichier (Carbon.php) :

<?php/**
 * Carbon helper
 *
 * @param $time
 * @param $tz
 *
 * @return Carbon\Carbon
 */function carbon($time = null, $tz = null){
    return new \Carbon\Carbon($time, $tz);}function carbonFormatted($time = null, $tz = null){
    return carbon($time, $tz)->format('Y-m-d')}
Copier après la connexion

OK ! Vous pouvez maintenant commencer à remplir le répertoire app/Helpers avec vos propres fichiers PHP contenant vos assistants fréquemment utilisés

REMARQUE : Veuillez garder à l'esprit que je suis néerlandais et que l'anglais n'est pas ma langue maternelle, cet article peut donc contenir des erreurs grammaticales.

Tutoriel recommandé : "Tutoriel Laravel"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal