Blog Details

浅谈PHP若何实现依赖注入(二)
by weswoo

shopify独立站

Planning your online business goals with a specials

Kristin Weswoo

Aug 30, 2023

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

  到这里你可能会以为这样以来反而有点繁琐了。cache和redisDB的结构云云之像,完全可以把redis写到cache中而没需要单独星散出来?然则你想过没有,有些数据实时性没那么高而且数目对照大,用redis有点不合适,mongodb是更好的选择;有些数据更新频率更慢,对查询速率也没要求,直接写入文件保留到硬盘可能更为合适;再或者,你的客户以为redis运维难度有点大,让你给他换成memcache... 这就是为什么把它星散出来了。然后,继续改善代码:   我们新增添了一个接口BackendInterface,划定了redisDB,mongoDB,file这三个类必须实现这个接口所要求的功效,至于其他锦上添花的功效,随你怎么施展。而cache的代码,似乎没有变,由于cache不需要体贴数据是怎么存入数据库或者文件中。而cache的挪用者,也不需要体贴cache详细是怎么实现的,只要凭证接口实现响应的方式就行了。多人协作你会加倍受益,你们只需要商定好接口,然后划分实现就行了。   以上代码还可以继续改善,直到你以为无可挑剔为止。好比,redis服务在一个请求中可能会挪用多次,而每次挪用都市重新确立,这将有损性能。只需扩展一下DI容器就好增添一个参数或增添一个方式,随你。   这样以来,若是某个服务在一次请求中要挪用多次,你就可以将shared属性设置为true,以削减不需要的虚耗。若是你以为每次在注入时都要setDi有点繁琐,想让他自动setDi,那可以这么做:   然后,就可以这样:   我们现在所实现的这个DI容器还很简陋,还不支持庞大的注入,你可以继续完善它。不外,通过这些代码你已经领会什么是依赖在注入了,你可以将这种头脑应用到你的项目中,或者着手开发你自己的框架。   以上就是小编关于依赖注入知识的分享,后续我们会为人人更多知识干货!  

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

Random Image 608
Random Image 608

Manage your online banking

Morbi lorem proin morbi tempor risus. Nisl lobortis diam id faucibus pretium vitae suspendisse sed accumsan. Sodales morbi tristique elit cursus gravida. Ullamcorper commodo eget pulvinar pretium. Condimentum rhoncus commodo amet nec auctor nibh vel mi blandit.

Neque ultrices nunc condimentum morbi risus tincidunt. Vel arcu lacus non ornare. Porttitor in rhoncus magna augue adipiscing.

  • Manage your time so you’ll get more done in less time
  • Cut expenses without sacrificing quality
  • Attract and retain quality, high-paying customers

开始您的独立站品牌出海

独立站品牌从0到1的步骤:产品开发 - VI定调 - 网站定制 - 运营自动化 - 客户维护

  • 12小时技术团队支持

  • 全方位品牌出海护航