facade 使用
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 协议》,转载必须注明作者和本文链接