Façades fournissent une interfacestatiqueaux classes disponibles dans le conteneur de services de l'application. Lesfaçadesde Laravel servent deproxys statiquesaux 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.
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.
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 |
Étape 1- Créez un fournisseur de services appeléTestLaravel - Façadesen 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 −
Étape 3− Créez une classe appeléeTestFacades.phpsurApp/Test.
App/Test/TestFacades.php
Étape 4− Créez une classe Facade appelée« TestFacades.php »dans« App/Test/Facades ».
App/Test/Facades/TestFacades.php
Copier après la connexion
Étape 5− Créez une classe Facade appeléeTestLaravel - Façadess.phpdansApp/Test/Facades.
App/Providers/TestLaravel - Façadess.php
Copier après la connexion
Étape 6- Ajoutez un fournisseur de services dans un fichierconfig/app.phpcomme indiqué dans la figure ci-dessous.
config/app.php
Étape 7- Ajoutez un alias dans un fichierconfig/app.phpcomme indiqué dans la figure ci-dessous.
config/app.php
Étape 8− Ajoutez les lignes suivantes dansapp/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 −
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!