laravel的依赖注入问题

发布于 2022-09-12 03:34:23 字数 287 浏览 19 评论 0

laravel在controller中注册service或者repository目录下的类时,有两个疑问

  1. 如果repository目录下,有一个接口,其他类都实现这个接口

那么在controller的构造函数中的参数类型如果是repository下的这个接口,那真正运行起来的话,laravel的容器根据类型提示貌似也无法知道具体用哪个类吧?

  1. 还有就是,laravel容器如何根据类型找到具体类的,因为我这个类并没有通过绑定的方式注入到容器中啊? 还没有注入肯定取不到啊

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

生生不灭 2022-09-19 03:34:23

1,一个接口对应多个实现并不符合对于依赖注入的类型提示,如果要面向接口开发,你应当一个类对应一个接口,然后在容器中把接口和类绑定起来,这样需要进行注入时容器就能注入绑定的类
2,当你作为方法签名的方式进行依赖注入时,实际还是走的容器的注入,在容器没有找到绑定关系时就会把其参数类型直接当作为一个类进行处理后实例化。所以当你传入一个有效的类名称时,即使在之前没有绑定,也可以进行进行注入。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文