Facades bieten einestatischeSchnittstelle zu Klassen, die im Servicecontainer der Anwendung verfügbar sind. Laravel-Fassaden fungieren als statische Proxys für zugrunde liegende Klassen im Service-Container und bieten den Vorteil einer knappen, ausdrucksstarken Syntax bei gleichzeitig höherer Testbarkeit und Flexibilität als herkömmliche statische MethodenSo erstellen Sie eine FassadeIm Folgenden sind die Schritte zum Erstellen einer Fassade in Laravel aufgeführt −
Schritt 1
- PHP-Klassendatei erstellen.Schritt 2
– Binden Sie diese Klasse an den Dienstanbieter.Schritt 3
– Registrieren Sie diesen Dienstanbieter beiSchritt 4
– Erstellen Sie eine Klasse, auf die sich diese Klasse erstrecktSchritt 5
- Registrieren Sie Punkt 4 in Configapp.php als Laravel - Fassadene.Fassadenklassenreferenz
Laravel wird mit vielen Fassaden geliefert. Die folgende Tabelle zeigt die integrierten Facade-Klassenreferenzen −Fassade
App | IlluminateFoundationApplication | |
---|---|---|
Kunsthandwerklich | IlluminateContractsConsoleKernel | |
Auth | IlluminateAuthAuthManager | |
Auth (Instanz) | IlluminateAuthGuard | |
Klinge | IlluminateViewCompilersBladeCompiler | |
Bus | IlluminateContractsBusDispatcher | |
Cache | IlluminateCacheRepository | |
Konfigurieren | IlluminateConfigRepository | |
Keks | IlluminateCookieCookieJar | |
Krypta | IlluminateEncryptionEncrypter | |
DB | IlluminateDatabaseDatabaseManager | |
DB (Instanz) | IlluminateDatabaseConnection | |
Veranstaltung | IlluminateEventsDispatcher | |
Datei | IlluminateFilesystemFilesystem | |
Tor | IlluminateContractsAuthAccessGate | |
Hash | IlluminateContractsHashingHasher | |
Eingabe | IlluminateHttpRequest | |
Lang | IlluminateTranslationTranslator | |
Protokoll | IlluminateLogWriter | |
IlluminateMailMailer | ||
Passwort | IlluminateAuthPasswordsPasswordBroker | |
Warteschlange | IlluminateQueueQueueManager | |
Warteschlange (Instanz) | IlluminateQueueQueueInterface | |
Warteschlange (Basisklasse) | IlluminateQueueQueue | |
Weiterleiten | IlluminateRoutingRedirector | |
Redis | IlluminateRedisDatabase | |
Anfrage | IlluminateHttpRequest | |
Antwort | IlluminateContractsRoutingResponseFactory | |
Route | IlluminateRoutingRouter | |
Schema | IlluminateDatabaseSchemaBlueprint | |
Sitzung | IlluminateSessionSessionManager | |
Sitzung (Instanz) | IlluminateSessionStore | |
Speicher | IlluminateContractsFilesystemFactory | |
URL | IlluminateRoutingUrlGenerator | |
Validator | IlluminateValidationFactory | |
Validator (Instanz) | IlluminateValidationValidator | |
Ansicht | IlluminateViewFactory | |
Ansicht (Instanz) | IlluminateViewView | |
BeispielSchritt 1- Erstellen Sie einen Dienstanbieter namensTestLaravel - Fassaden, indem Sie den folgenden Befehl ausführen. php artisan make:provider TestLaravel - Fassaden
Nach dem Login kopieren
Schritt 2− Nach erfolgreicher Ausführung erhalten Sie folgende Ausgabe − Schritt 3− Erstellen Sie eine Klasse namensTestFacades.phpunterApp/Test. App/Test/TestFacades.php
Nach dem Login kopieren
Schritt 4− Erstellen Sie eine Fassadenklasse mit dem Namen„TestFacades.php“unter„App/Test/Facades“. App/Test/Facades/TestFacades.php
Schritt 5– Erstellen Sie eine Facade-Klasse mit dem NamenTestLaravel - Fassadens.phpunterApp/Test/Facades. App/Providers/TestLaravel - Fassadens.php
Schritt 6– Fügen Sie einen Dienstanbieter in einer Dateiconfig/app.phphinzu, wie in der folgenden Abbildung gezeigt. config/app.php Schritt 7– Fügen Sie einen Laravel - Fassaden in einer Dateiconfig/app.phphinzu, wie in der folgenden Abbildung gezeigt. config/app.php Schritt 8− Fügen Sie die folgenden Zeilen inapp/Http/routes.php. hinzuapp/Http/routes.php Route::get('/facadeex', function() { return TestFacades::testingFacades(); });
Nach dem Login kopieren
Schritt 9− Besuchen Sie die folgende URL, um die Fassade zu testen. http://localhost:8000/facadeex
Nach dem Login kopieren
Schritt 10− Nach dem Besuch der URL erhalten Sie die folgende Ausgabe − |
Das obige ist der detaillierte Inhalt vonLaravel - Fassaden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!