文章目录
Laravel 6 - 第一章 简介
Laravel 6 - 第二章 项目搭建
Laravel 6 - 第三章 文件夹结构
Laravel 6 - 第四章 生命周期
Laravel 6 - 第五章 控制反转和依赖注入
Laravel 6 - 第六章 服务容器
Laravel 6 - 第七章 服务提供者
Laravel 6 - 第八章 门面
Laravel 6 - 第九章 契约
Laravel 6 - 第十章 路由
Laravel 6 - 第十一章 中间件
Laravel 6 - 第十二章 控制器
Laravel 6 - 第十三章 请求
Laravel 6 - 第十四章 响应
Laravel 6 - 第十五章 验证器
Laravel 6 - 第十六章 Artisan命令
Laravel 6 - 第十七章 配置数据库
Laravel 6 - 第十八章 模型
Laravel 6 - 第十九章 模型文件
一、服务提供者
在 Laravel 6
中,服务提供者
负责引导应用程序的启动过程,并绑定服务到服务容器
中。服务提供者
允许延迟注册服务
,直至需要时才进行注册。
二、使用步骤
1.创建服务提供者
使用 artisan cli
创建一个新的服务提供者
(MyServiceProvider
),如下:
$ php artisan make:provider MyServiceProvider
如上命令会在 app/Providers
下新建服务提供者
(MyServiceProvider
)类。
2.注册服务提供者
打开 config/app.php
文件,找到 providers
数组,将服务提供者
(MyServiceProvider
)类添加到这个数组中。这样,Laravel 6
在启动时就会自动加载这个服务提供者
。如下:
3.编写服务提供者
打开MyServiceProvider
,可以看到 两个方法:register()
、 boot()
。
1、register()
register()
方法用于绑定服务到服务容器
。它是注册绑定到服务容器
的类的地方。
2、boot()
boot()
方法在所有服务提供者
被注册之后调用。它是执行引导代码的地方,如:事件监听器、视图合成器等的注册。
3、服务提供者类
如下:
6.延迟服务提供者
如果服务提供者
只 在 服务容器
中注册,可以选择延迟加载
,它会在真正需要时才加载,有助于提升应用性能,因为它不会在每次请求时都从文件系统加载。
要延迟加载服务提供者
,需实现 Illuminate\Contracts\Support\DeferrableProvider
接口,并置相应的 provides()
方法 ,该方法返回服务提供者
注册的服务容器
绑定,如下:
5.使用服务
一旦服务被绑定到 服务容器
,就可以在应用程序的任何地方通过 服务容器
访问它。如: