Maison  >  Article  >  cadre php  >  Laravel - Façades

Laravel - Façades

PHPz
PHPzoriginal
2024-08-27 10:50:431171parcourir

Façades fournissent une interface statique aux classes disponibles dans le conteneur de services de l'application. Les façades de Laravel servent de proxys statiques aux classes sous-jacentes dans le conteneur de services, offrant l'avantage d'une syntaxe concise et expressive tout en conservant plus de testabilité et de flexibilité que les méthodes statiques traditionnelles.

Comment créer une façade

Voici les étapes pour créer une façade dans Laravel −

  • Étape 1 − Créer un fichier de classe PHP.

  • Étape 2 - Liez cette classe au fournisseur de services.

  • Étape 3 − Enregistrez ce fournisseur de services auprès de

    Configapp.php en tant que fournisseurs.

  • Étape 4 - Créer une classe à laquelle cette classe s'étend

    lluminateSupportFacadesFacade.

  • Étape 5 - Enregistrez le point 4 dans Configapp.php en tant qu'alias.

Référence de classe de façade

Laravel est livré avec de nombreuses façades. Le tableau suivant montre les références de classe Facade intégrées −

Façade Classe Reliure de conteneur de service
Application Application IlluminateFoundation application
Artisan IlluminateContractsConsoleKernel artisan
Auth IlluminateAuthAuthManager auth
Authentification (Instance) IlluminateAuthGuard
Lame IlluminateViewCompilersBladeCompiler blade.compiler
Bus IlluminateContractsBusDispatcher
Cache IlluminateCacheRepository cache
Config IlluminateConfigRepository config
Cookie IlluminateCookieCookieJar cookie
Crypte IlluminateEncryptionEncrypter crypteur
DB IlluminateDatabaseDatabaseManager db
DB (Instance) Connexion à la base de données Illuminate
Événement Répartiteur d'événements Illuminate événements
Fichier IlluminateFilesystemFilesystem fichiers
Porte IlluminateContractsAuthAccessGate
Hash IlluminateContractsHashingHasher hash
Entrée IlluminateHttpRequest demande
Lang IlluminateTranslationTranslator traducteur
Journal IlluminateLogWriter log
Courrier IlluminateMailMailer mailer
Mot de passe IlluminateAuthPasswordsPasswordBroker auth.mot de passe
File d'attente IlluminateQueueQueueManager file d'attente
File d'attente (instance) IlluminateQueueQueueInterface
File d'attente (classe de base) IlluminateQueueQueue
Redirection Redirecteur de routage Illuminate redirection
Redis Base de données IlluminateRedis redis
Demande IlluminateHttpRequest demande
Réponse IlluminateContractsRoutingResponseFactory
Itinéraire IlluminateRoutingRouter routeur
Schéma IlluminateDatabaseSchemaBlueprint
Séance IlluminateSessionSessionManager séance
Session (Instance) IlluminateSessionStore
Stockage IlluminateContractsFilesystemFactory système de fichiers
URL IlluminateRoutingUrlGenerator url
Validateur IlluminateValidationFactory validateur
Validateur (Instance) IlluminateValidationValidator
Voir IlluminateViewFactory vue
Afficher (Instance) IlluminateViewView

Exemple

Étape 1 - Créez un fournisseur de services appelé TestLaravel - Façades en exécutant la commande suivante.

php artisan make:provider TestLaravel - Façades

Étape 2 − Après une exécution réussie, vous recevrez le résultat suivant −

Laravel - Façades

Étape 3 − Créez une classe appelée TestFacades.php sur App/Test.

App/Test/TestFacades.php

<?php
   namespace App\Test;
   class TestFacades{
      public function testingFacades() {
         echo "Testing the Facades in Laravel.";
      }
   }
?>

Étape 4 − Créez une classe Facade appelée « TestFacades.php » dans « App/Test/Facades ».

App/Test/Facades/TestFacades.php

<?php

namespace app\Test\Facades;

use Illuminate\Support\Facades\Facade;

class TestFacades extends Facade {
   protected static function getFacadeAccessor() { return 'test'; }
}

Étape 5 − Créez une classe Facade appelée TestLaravel - Façadess.php dans App/Test/Facades.

App/Providers/TestLaravel - Façadess.php

<?php

namespace App\Providers;

use App;
use Illuminate\Support\ServiceProvider;

class TestLaravel - Façades extends ServiceProvider {
   public function boot() {
      //
   }
   public function register() {
      App::bind('test',function() {
         return new \App\Test\TestFacades;
      });
   }
}

Étape 6 - Ajoutez un fournisseur de services dans un fichier config/app.php comme indiqué dans la figure ci-dessous.

config/app.php

Service Provider

Étape 7 - Ajoutez un alias dans un fichier config/app.php comme indiqué dans la figure ci-dessous.

config/app.php

Laravel - Façades

Étape 8 − Ajoutez les lignes suivantes dans app/Http/routes.php.

app/Http/routes.php

Route::get('/facadeex', function() {
   return TestFacades::testingFacades();
});

Étape 9 − Visitez l'URL suivante pour tester la façade.

http://localhost:8000/facadeex

Étape 10 − Après avoir visité l'URL, vous recevrez le résultat suivant −

Testing Facades

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:
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