Laravel文档指出:"你可能只是"类型提示"由容器解析的类的构造函数中的依赖项,包括控制器,事件侦听器......"
这里的关键词是"一个由容器解析的类" - 我一直在尝试使用我自己的自定义类(服务,存储库,处理程序等)重现这一点,我无法弄明白。控制器(和其他类)通过容器解析,该容器处理任何依赖项的自动注入。见https://github.com/laravel/framework/blob/master/src/Illuminate/Routing/ControllerDispatcher.php#L53
我的问题是如何使用自己的类结构实现相同的功能。它并不像将类绑定到IoC并通过getter解析它们那么简单。我想知道是否有人可能会在他们的应用程序中设置这样的东西,并愿意分享他们的技术:)
非常感谢!
答案 0 :(得分:0)
容器解析对象图表。所以你需要让你的课程在图表上。
如果控制器由Laravel的容器处理,那么你去:在你的控制器中注入你的服务,Laravel会为你处理它。
通过“为你处理”我的意思是它会创造&注入控制器的依赖关系,以及依赖关系的依赖关系,以及......这是传递性的。
例如:
所以问题是:你想在哪里注射你的课程?