有人可以为PHP中的依赖注入容器(DIC)提供基本工作示例吗?
我知道这是一个模糊的问题,我已经经历了一些例子,尤其是来自Fabian Potencier的例子,他用一个有效的例子以一种很好的方式解释了PHP中的DI。
除了Fabian之外,我还有更多文章,但我正在寻找DIC的工作范例,以便像我这样的人能通过简单的工作实例更好地理解。
可能是一个小小的解释,为什么我们需要使用DIC也会有所帮助,比如在哪种情况下它会派上用场。
由于
答案 0 :(得分:3)
我不知道你是否读过这篇文章:
http://richardmiller.co.uk/2011/07/07/dependency-injection-moving-from-basics-to-container/
但它帮助我理解了DI
的优点理查德·米勒(Richard Miller)也很好地介绍了为什么要使用DI:
https://speakerdeck.com/u/richardmiller/p/dependency-injection-and-the-symfony2-service-container
它只提供虚拟代码示例,但您肯定会认识到一些现实问题。
答案 1 :(得分:2)
如果你到目前为止还没有读过这篇文章,我可以强烈建议:
它不会太长但也不会太短。根据Container,它讨论了最初用Java编写的PicoContainer。它的PHP变体存在:
PicoContainer特有的文档是:
我在其他一些答案(Safe alternatives to PHP Globals (Good Coding Practices))中描述了一个用于PHP的非常基本的服务定位器,但它更像是一个懒惰的初始化模式。但是你要求提供很多简化的东西,所以可能是有用的。