Fasad menyediakan antara muka statik kepada kelas yang tersedia dalam bekas perkhidmatan aplikasi. Laravel fasad berfungsi sebagai proksi statik kepada kelas asas dalam bekas perkhidmatan, memberikan manfaat sintaks ekspresif yang ringkas sambil mengekalkan lebih kebolehujian dan fleksibiliti daripada kaedah statik tradisional.
Berikut ialah langkah-langkah untuk mencipta Fasad dalam Laravel −
Langkah 1 − Cipta Fail Kelas PHP.
Langkah 2 − Ikat kelas itu kepada Pembekal Perkhidmatan.
Langkah 3 − Daftarkan Penyedia Perkhidmatan itu kepada
Configapp.php sebagai pembekal.
Langkah 4 − Buat Kelas yang mana kelas ini dilanjutkan ke
LuminateSupportFacadesFacade.
Langkah 5 − Daftar titik 4 ke Configapp.php sebagai alias.
Laravel berkapal dengan banyak Fasad. Jadual berikut menunjukkan rujukan kelas Fasad terbina dalam −
Fasad | Kelas | Pengikat Bekas Perkhidmatan |
---|---|---|
Apl | IlluminateFoundationApplication | app |
Artisan | IlluminateContractsConsoleKernel | tukang |
Auth | IlluminateAuthAuthManager | auth |
Auth (Instance) | IlluminateAuthGuard | |
Bilah | IlluminateViewCompilersBladeCompiler | blade.compiler |
Bas | IlluminateContractsBusDispatcher | |
Cache | IlluminateCacheRepository | cache |
Config | IlluminateConfigRepository | config |
Kuki | IlluminateCookieCookieJar | kuki |
Crypt | IlluminateEncryptionEncrypter | penyulit |
DB | IlluminateDatabaseDatabaseManager | db |
DB (Instance) | IlluminateDatabaseConnection | |
Acara | IlluminateEventsDispatcher | acara |
Fail | IlluminateFilesystemFilesystem | fail |
Gerbang | IlluminateContractsAuthAccessGate | |
Hash | IlluminateContractsHashingHasher | hash |
Input | IlluminateHttpRequest | permintaan |
Lang | IlluminateTranslationTranslator | penterjemah |
Log | IlluminateLogWriter | log |
Mel | IlluminateMailMailer | pengemail |
Kata Laluan | IlluminateAuthPasswordsPasswordBroker | auth.password |
Beratur | IlluminateQueueQueueManager | beratur |
Barisan (Instance) | IlluminateQueueQueueInterface | |
Beratur (Kelas Asas) | IlluminateQueueQueue | |
Ubah hala | IlluminateRoutingRedirector | ubah hala |
Redis | IlluminateRedisDatabase | redis |
Permintaan | IlluminateHttpRequest | permintaan |
Tindak balas | IlluminateContractsRoutingResponseFactory | |
Laluan | IlluminateRoutingRouter | penghala |
Skema | IlluminateDatabaseSchemaBlueprint | |
Sesi | IlluminateSessionSessionManager | sesi |
Sesi (Instance) | IlluminateSessionStore | |
Storan | IlluminateContractsFilesystemFactory | sistem fail |
URL | IlluminateRoutingUrlGenerator | url |
Pengesah | IlluminateValidationFactory | pengesah |
Pengesah (Instance) | IlluminateValidationValidator | |
Lihat | IlluminateViewFactory | pandangan |
Lihat (Instance) | IlluminateViewView |
Langkah 1 − Buat penyedia perkhidmatan yang dipanggil TestLaravel - Fasad dengan melaksanakan arahan berikut.
php artisan make:provider TestLaravel - Fasad
Langkah 2 − Selepas pelaksanaan berjaya, anda akan menerima output berikut −
Langkah 3 − Buat kelas yang dipanggil TestFacades.php di App/Test.
App/Test/TestFacades.php
<?php namespace App\Test; class TestFacades{ public function testingFacades() { echo "Testing the Facades in Laravel."; } } ?>
Langkah 4 − Buat kelas Fasad dipanggil “TestFacades.php” di “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'; } }
Langkah 5 − Buat kelas Fasad yang dipanggil TestLaravel - Fasads.php di App/Test/Facades.
App/Pembekal/TestLaravel - Fasads.php
<?php namespace App\Providers; use App; use Illuminate\Support\ServiceProvider; class TestLaravel - Fasad extends ServiceProvider { public function boot() { // } public function register() { App::bind('test',function() { return new \App\Test\TestFacades; }); } }
Langkah 6 − Tambahkan pembekal perkhidmatan dalam fail config/app.php seperti yang ditunjukkan dalam rajah di bawah.
config/app.php
Langkah 7 − Tambahkan alias dalam fail config/app.php seperti yang ditunjukkan dalam rajah di bawah.
config/app.php
Langkah 8 − Tambahkan baris berikut dalam app/Http/routes.php.
app/Http/routes.php
Route::get('/facadeex', function() { return TestFacades::testingFacades(); });
Langkah 9 − Lawati URL berikut untuk menguji Fasad.
http://localhost:8000/facadeex
Langkah 10 − Selepas melawat URL, anda akan menerima output berikut −
Atas ialah kandungan terperinci Laravel - Fasad. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!