您现在的位置是:自如初>LaravelLaravel

Laravel5自定义门面(静态代理)和服务提供者

温新 2019-08-26 00:42:22 Laravel 1929人已围观

简介门面其实就是为类披上了一层静态的马甲,可以让我们不用去实例化类而直接使用静态方法调用类中的方法。

Laravel5自定义门面(静态代理)和服务提供者

门面其实就是为类披上了一层静态的马甲,可以让我们不用去实例化类而直接使用静态方法调用类中的方法。

laravel-5-8-docs.jpg

一、创建自定义类

1)类文件所在目录:app/Tool/TestTool.php

2)目录起名注意语义化与正确的命名空间

3)目录不一定要放在app目录下,随个人喜好

 1.png

二、创建目录提供者

项目跟目录下执行命令 php artisan make:provider  TestToolServiceProvider 创建该服务提供者,将上一步编写的 测试工具类 注册到容器中。

 

1)执行命令后会在app/Providers目录下生成 TestToolServiceProvider.php 文件

2)注意不要忘记了 测试工具类文件(TestTool.php)要在TestToolServiceProvider.php文件中引入

3)把 测试工具类 注册到服务容器中

 2.png

三、注册服务提供者

在config/app.php文件中的providers属性中注册刚刚添加的服务提供者

3.png

四、创建门面类

在app目录下创建一个门面文件夹,用于管理自定义的门面。

1)app/Facades/TestTool.php

2)门面类一定要要继承基类

3)编写静态门面时一定要注意,返回的名称一定要与bind()绑定时的名称一致。

 4.png

五、注册自定义门面类

在config/app.php文件中的aliases属性中追加静态类别名

1)'TestTool' =>  App\Facades\TestTool::class,

 5.png

六、测试是否生效

1)app/Http/Controllers/Home/IndexController.php

6.png

2019年8月26日星期一

 夕阳何处寻

很赞哦!(15)

文章评论

登录 注册

自如初--时间轴

站名:自如初

独白:向前走!向前走!

邮箱:xyhcx@foxmail.com

站点信息