Thinkphp6-make() 、依赖注入 、 容器

容器

ThinkPHP使用容器来更方便的管理类依赖及运行依赖注入,新版的容器支持PSR-11规范。

make()

创建类的实例 已经存在则直接获取

  • 已经创建实例且不需要刷新 时直接返回
  • 函数需 先bind
  • 创建后保存实例到容器
  • 依赖注入
    在这里插入图片描述
  1. 获取别名
  2. 如果有实例直接获取 app->instances 中
  3. 如果在 app->bind 中 , invokeFunction 闭包 [使用 ReflectionFunction ]
  4. 类 invokeClass [使用 ReflectionClass]

依赖注入

依赖注入其实本质上是指对类的依赖通过构造器完成自动注入,例如在控制器架构方法和操作方法中一旦对参数进行对象类型约束则会自动触发依赖注入,由于访问控制器的参数都来自于URL请求,普通变量就是通过参数绑定自动获取,对象变量则是通过依赖注入生成。

Container.php / bindParams()
在这里插入图片描述
Container.php / getObjectParam( )
使用 make() 返回参数对象的实例
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值