浅谈PHP如何实现依赖注入(二)

时间:2021-07-16 | 标签: | 作者:Q8 | 来源:网络

小提示:您能找到这篇{浅谈PHP如何实现依赖注入(二)}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的浅谈PHP如何实现依赖注入(二)内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

 现在我们就当已经实现了redisDB和cache这两个组件,具体的细节这里就先不做讨论了,来看看如何使用使用吧。首先需要将两个组件注入到容器中:







 
到这里你可能会觉得这样以来反而有点繁琐了。cache和redisDB的结构如此之像,完全可以把redis写到cache中而没必要单独分离出来?但是你想过没有,有些数据及时性没那么高而且数量比较大,用r京东的危机公关edis有点不合适,mongodb是更好的选择;有些数据更新频率更慢,对查询速度也没要求,直接写入文件保存到硬盘可能更为合适;再或者,你的客户觉得redis运维难度有点大,让你给他换成memcache... 这就是为什么把它分离出来了。然后,继续改进代码:
 
我们新增加了一个接口BackendInterface,数字营销发展规定了redisDB,mongoDB,file这三个类必须实现这个营销如何做到精准接口所要求的功能,至于其他锦上添花的功能,随你怎么发挥。而cache的代码,好像没有变,因为cache不需要关心数据是怎么存入数据库或者文件中。而cache的调用者,也不需要关心cache具体是怎么实现的,只要根据接口实现相应的方法就行了。多人协作你会更加受益,你们只需要商定好接口,然后分别实现就行了。
 
以上代码还可以继续改进,直到你认为无可挑剔为止。比如,redis服务在一个请求中可能会调用多次,而每次调用都会重新创建,这将有损性能。只需扩展一下DI容器就好增加一个参数或增加一个方法,随你。
 
这样以来,如果某个服务在一次请求中要调用多次,你就可以将shared属性设置为true,以减少不必要的浪费。如果你觉得每次在注入时都要setDi有点繁琐,想让他自动setDi,那可以这么做:
 
然后,就可以这样:
 
我们现在所实现的这个DI容器还很简陋,还不支持复杂的注入,你可以继续完善它。不过,通过这些代码你已经了解什么是依赖在注入了,你可以将这种思想应用到你的项目中,或者着手开发你自己的框架。
 
以上就是小编关于依赖注入知识的分享,后续我们会为大家更多知识干货!
 
浅谈PHP如何实现依赖注入(二)

上一篇:解析域名根服务器只能有13台的原因
下一篇:浅谈PHP如何实现依赖注入(一)


版权声明:以上主题为“浅谈PHP如何实现依赖注入(二)"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
扫码咨询
    浅谈PHP如何实现依赖注入(二)
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“浅谈PHP如何实现依赖注入(二)”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通浅谈PHP如何实现依赖注入(二)的相关事宜。

关键词:浅谈PHP如何实现依赖注入

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:545321@QQ.com
电话:400-021-1330 | 客服QQ:545321
沪ICP备12034177号 | 沪公网安备31010702002418号