Facade(門面)的使用:
建立Facade: 首先建立facade類檔案:
someFacade.php(建議在App資料夾下建立Facade資料夾,用來儲存我們新建的Facade類檔案)
以下以 someFacade 為列:
建立 someFacaed.php 繼承基類 Illuminate\Support\Facades\Facade
1.實現方法getFacadeAccessor 返回對應服務容器繫結的名稱;
2.基類中的 __callStatic 實現了方法的靜態化呼叫;
到這裡,上面提到的實現方法“getFacadeAccessor”,返回對應服務容器繫結的名稱,那接下來就去建立對應的服務提供者(Provider),或者說繫結對應的例項。
這裡以新建Provider為列:
D:\www\laravel7>php artisan make:provider SomeFacadeServiceProvider
Provider created successfully.
在Provider中的register方法繫結服務(例項):
服務繫結完成,需要在config/app.php配置檔案中註冊服務提供者(註冊Provider,框架得以載入Provider)
現在在Some.php中隨意寫上一些測試方法:
可以看到,在Some.php中是沒有任何靜態方法的(static),現在建立 TestController 測試SomeFacade是否能夠正常使用:
到此為止,Facade的使用就全部結束了。
本作品採用《CC 協議》,轉載必須註明作者和本文連結