php - Laravel 容器和绑定
问题描述
如果类不依赖于任何接口,则无需将类绑定到容器中。不需要指示容器如何构建这些对象,因为它可以使用反射自动解析这些对象。
我不明白。
这是否意味着如果我不使用接口,我不必在提供者的 register 方法中使用任何绑定?
那么,如果我不使用绑定,我该如何使用依赖注入呢?
PS:据我了解:
“界面” -这是
“绑定” - 是寄存器内的 bind() 和 singelton()
解决方案
如果你有 :
class Something {
}
您无需app()->make(Something::class)
事先绑定即可。容器知道它可以只调用默认构造函数。
这同样适用于
class SomethingElse {
public function __construct(Something $s) { }
}
在这种情况下,构造函数也将通过依赖注入。这一切都由容器自动处理。
但是,这显然不适用于接口,因为无法构造接口。
此外,如果您需要将某些内容绑定为单例,则需要使用显式绑定它app()->singleton(...)
推荐阅读
- python - 用包含相同文本的子标签替换beautifulsoup标签的标记文本的优雅方法是什么
- java - 为什么在 Android 中从命令行启动服务需要 root 访问权限(su)?
- c# - 生成 HMAC 签名
- reactjs - 在应用程序和私有库中包含 React 的正确方法是什么?(来自重复 React 的 React Invalid Hook Call 警告)
- nestjs - Nest.js 注入模型?
- php - 如何将 Jquery 提交函数中的值传递给 PHP?
- java - java.sql.SQLException: 用户''@'localhost'的访问被拒绝(使用密码:否)
- python - Python:从网页中解析多个表并在 CSV 中对数据进行分组
- powershell - 如何使用允许自动管道变量 $_ 的脚本块编写 powershell 函数
- sql - 理解具有外键和主键的数据库表引用