问答

laravel的依赖注入问题

作者:admin 2021-07-01 我要评论

laravel在controller中注册service或者repository目录下的类时,有两个疑问 如果repository目录下,有一个接口,其他类都实现这个接口 那么在controller的构造函...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

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

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

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

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

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

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • laravel的依赖注入问题

    laravel的依赖注入问题

  • element table表格show-summary不生效

    element table表格show-summary不生效

  • springcloud gateway 路由配置问题

    springcloud gateway 路由配置问题

  • iOS 证券APP我的持仓左右滑动效果如何

    iOS 证券APP我的持仓左右滑动效果如何

腾讯云代理商
海外云服务器