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.
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ç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 −
É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
Étape 7 - Ajoutez un alias dans un fichier config/app.php comme indiqué dans la figure ci-dessous.
config/app.php
É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 −
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!