facades為應用程序服務容器中可用的類提供 靜態(tài) 接口。laravel 外墻 作為 靜態(tài)代理 在服務容器底層類,提供了一個簡潔,傳神語法的利益,同時保持比傳統(tǒng)的靜態(tài)方法更可測試性和靈活性。
如何創(chuàng)建facade
以下是在laravel創(chuàng)建facade的步驟 -
- 第1步 - 創(chuàng)建php類文件。
- 第2步 - 將該類綁定到服務提供者。
- 第3步 - 將該serviceprovider注冊到
config \ app.php作為提供者。
- 第4步 - 創(chuàng)建此類延伸到的類
lluminate的\ support \外立面\門面。
- 第5步 - 將 第4 點注冊到config \ app.php作為別名。
門面類參考
laravel附帶許多外墻。下表顯示了內(nèi)置的facade類參考 -
正面 | 類 | 服務容器綁定 |
---|---|---|
應用 | 照亮\基金會\應用 | 應用 |
工匠 | 照亮\合同\控制臺\內(nèi)核 | 工匠 |
驗證 | 照亮\驗證\ authmanager | auth |
身份驗證(實例) | 照亮\驗證\衛(wèi)隊 | |
刀 | 照亮\查看\編譯\ bladecompiler | blade.compiler |
總線 | 照亮\ \合同公交\調(diào)度 | |
高速緩存 | 照亮\緩存\庫 | 高速緩存 |
配置 | 照亮\ config \庫 | 配置 |
曲奇餅 | 照亮\餅干\ cookiejar | 曲奇餅 |
地穴 | 照亮\加密\加密器 | 加密 |
d b | 照亮\數(shù)據(jù)庫\的databasemanager | d b |
db(實例) | 照亮\數(shù)據(jù)庫\連接 | |
事件 | 照亮\活動\調(diào)度 | 事件 |
文件 | 照亮\文件系統(tǒng)\文件系統(tǒng) | 檔 |
門 | 照亮\合同\身份驗證\訪問\門 | |
哈希 | 照亮\合同\散列\(zhòng)散列器 | 哈希 |
輸入 | 照亮\ http \請求 | 請求 |
郎 | 照亮\翻譯\翻譯 | 翻譯者 |
日志 | 照亮\登錄\作家 | 日志 |
郵件 | 照亮\郵件\梅勒 | 信封 |
密碼 | 照亮\驗證\密碼\ passwordbroker | auth.password |
隊列 | 照亮\隊列\(zhòng)的queuemanager | 隊列 |
隊列(實例) | 照亮\隊列\(zhòng) queueinterface | |
隊列(基類) | 照亮\隊列\(zhòng)隊列 | |
重定向 | 照明\路由\重定向 | 重定向 |
redis的 | 照亮\ redis的\數(shù)據(jù)庫 | redis的 |
請求 | 照亮\ http \請求 | 請求 |
響應 | 照亮\合同\路由\ responsefactory | |
路線 | 照明\路由\路由器 | 路由器 |
架構 | 照亮\數(shù)據(jù)庫\架構\藍圖 | |
會議 | 照亮\會議\ sessionmanager | 會議 |
會話(實例) | 照亮\會議\商店 | |
存儲 | 照亮\合同\文件系統(tǒng)\廠 | 文件系統(tǒng) |
網(wǎng)址 | 照明\路由\ urlgenerator | 網(wǎng)址 |
驗證器 | 照亮\驗證\廠 | 驗證器 |
驗證器(實例) | 照亮\驗證\驗證 | |
視圖 | 照亮\查看\廠 | 視圖 |
查看(實例) | 照亮\查看\查看 |
例
第1步 - 通過執(zhí)行以下命令創(chuàng)建名為 testfacadesserviceprovider 的服務提供者。
php artisan make:provider testfacadesserviceprovider
第2步 - 成功執(zhí)行后,您將收到以下輸出 -
第3步 - 在 app / test中 創(chuàng)建一個名為 testfacades.php 的類。 **
應用/測試/ testfacades.php
namespace app\test; class testfacades{ public function testingfacades(){ echo "testing the facades in laravel."; } }
第4步 - 在 “app / test / facades” 創(chuàng)建一個名為 “testfacades.php” 的facade類。 **
應用/測試/幕墻/ testfacades.php
namespace app\test\facades; use illuminate\support\facades\facade; class testfacades extends facade { protected static function getfacadeaccessor() { return 'test'; } }
第5步 - 在 app / test / facades 創(chuàng)建一個名為 testfacadesserviceproviders.php 的facade類 。
應用/供應商/ testfacadesserviceproviders.php
namespace app\providers; use app; use illuminate\support\serviceprovider; class testfacadesserviceprovider extends serviceprovider { public function boot() { // } public function register() { app::bind('test',function() { return new \app\test\testfacades; }); } }
第6步 - 在文件 config / app.php中 添加一個服務提供者,如下圖所示。
配置/ app.php
第7步 - 在文件 config / app.php中 添加一個別名,如下圖所示。
配置/ app.php
第8步 - 在 app / http / routes.php中 添加以下行 。
應用程序/ http / routes.php文件
route::get('/facadeex', function(){ return testfacades::testingfacades(); });
第9步 - 訪問以下url以測試facade。
http://localhost:8000/facadeex
第10步 - 訪問url后,您將收到以下輸出 -