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 - 第十五章 验证器
Laravel 6 - 第十六章 Artisan命令
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.使用服务

一旦服务被绑定到 服务容器,就可以在应用程序的任何地方通过 服务容器 访问它。如:
在这里插入图片描述

  • 22
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆旅岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值