Laravel的服务容器具有非常好的自动注入功能,允许您在类构造函数中键入提示依赖项(如果没有提供,则使用该依赖项的新实例进行解析)。我尝试在Eloquent模型的构造函数中执行此操作但它失败了。经过一番搜索,我意识到服务容器只会读取某些类。根据{{3}}
或者,重要的是,您可以简单地"输入提示"由容器解析的类的构造函数中的依赖项,包括控制器,事件侦听器,队列作业,中间件,和更多。
最后一次"以及更多"这让我很好奇 - 有没有人知道你可以在Laravel中输入提示依赖关系的类的完整列表?
答案 0 :(得分:1)
有问题的句子是框架将通过IoC容器解析的类列表的一个重要部分,或通过IoC容器调用方法(方法注入)。 '和更多'只是意味着他们没有列出每种可能的类型。通过文档,您可以找到其他页面,提到用于解析特定类型的类的IoC容器/调用方法。 (例如工匠命令和服务提供商)。与您交互最多的那些,记录在相应的页面/部分中。
没有通过框架的容器调用,我会说从整个文档收集列表可能是关于它。
类的列表有点是代码和框架本身之间的连接点。为了让您轻松拥有所需的依赖项,容器将解析/调用这些依赖项。由于此过程是递归的,因此为所有已解析的类提供了注入。
关于一般解决方案:
如果不依赖于接口,则可以从容器中解析任何类而不进行任何绑定。
要为您注入依赖项,必须使用IoC容器进行解析/调用。
依赖性以递归方式解决。