Maison >cadre php >Laravel >Comment ajouter une façade personnalisée et un fournisseur de services à l'aide de Laravel

Comment ajouter une façade personnalisée et un fournisseur de services à l'aide de Laravel

little bottle
little bottleavant
2019-04-29 10:35:253578parcourir

Lorsque nous utilisons le framework Laravel de PHP pour le développement de projets, nous utilisons souvent la propre façade et le fournisseur de services du framework Laravel, explorons comment écrire votre propre façade et votre propre fournisseur de services (le code suivant est basé sur laravel 5.2*).

1. Créez une classe personnalisée

Créez un fichier utilsToolBar.php sous le répertoire app. Il s'agit de notre classe d'outils, qui contient le code que nous avons défini.

<?phpnamespace App\Utils;class ToolBar{
   public function get()
   {
       return &#39;Hello my facade&#39;;
   }}

2. Créer un fournisseur de services

Exécutez la commande dans le répertoire racine du projet : php artisan make:provider ToolServiceProvider pour créer un fournisseur de services et ajouter quoi nous venons de La classe d'outils écrite est enregistrée dans le conteneur.

<?phpnamespace App\Providers;use Illuminate\Support\ServiceProvider;use App\Utils\ToolBar;class ToolServiceProvider extends ServiceProvider{
   /**
    * Bootstrap the application services.
    *
    * @return void
    */
   public function boot()
   {
       //
   }

   /**
    * Register the application services.
    *
    * @return void
    */
   public function register()
   {
       $this->app->bind(&#39;tool&#39;,function(){
           return new ToolBar();
       });
   }}

3. Fournisseur de services d'enregistrement de groupe

Enregistrez le fournisseur de services que nous venons d'ajouter dans l'attribut fournisseurs du fichier configapp.php, c'est-à-dire ajoutez :

App\Providers\ToolServiceProvider::class,

4. Créez une classe de façade

Créez une classe de façade, AppFacadesTool.php, dans le répertoire de l'application. Le répertoire ici est créé par moi-même. volonté. Tant que c'est cohérent lors de l'inscription ultérieure, tout ira bien. Le code est le suivant :

<?phpnamespace App\Facades;use Illuminate\Support\Facades\Facade;class Tool extends Facade{
   protected static function getFacadeAccessor()
   {
       return &#39;tool&#39;;
   }}

5. Classe de façade d'enregistrement de groupe

Ajoutez le code suivant à l'attribut aliases de configapp.php :

&#39;Tool&#39; => App\Facades\Tool::class,

Complétez les étapes ci-dessus, nous pouvons appeler pour tester si la façade créée et le fournisseur de services sont valides
Ajoutez le code suivant dans routesconsole.php :

Artisan::command(&#39;testFacade&#39;,function(){
    dd(tool::get());});

Puis dans le terminal dans le répertoire racine du projet, appelez la commande suivante :

php artisan testFacade

Si Bonjour ma façade est affiché, cela signifie que l'enregistrement est réussi. Ensuite, nous pouvons utiliser la façade personnalisée n'importe où dans le projet.

Lorsque nous utilisons le framework laravel de PHP pour le développement de projets, nous utilisons souvent la façade et les fournisseurs de services fournis avec le framework laravel, explorons comment écrire notre propre façade et notre propre fournisseur de services (le code suivant est basé sur laravel 5.2*).

Tutoriels associés : tutoriel vidéo 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