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

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

Guanhui
Guanhuiavant
2020-06-24 18:00:392923parcourir

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

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;
    }}

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,...

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);}

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')}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer