PHP中依赖注入容器的直接示例

时间:2012-07-20 13:46:29

标签: php dependency-injection

有人可以为PHP中的依赖注入容器(DIC)提供基本工作示例吗?

我知道这是一个模糊的问题,我已经经历了一些例子,尤其是来自Fabian Potencier的例子,他用一个有效的例子以一种很好的方式解释了PHP中的DI。

除了Fabian之外,我还有更多文章,但我正在寻找DIC的工作范例,以便像我这样的人能通过简单的工作实例更好地理解。

可能是一个小小的解释,为什么我们需要使用DIC也会有所帮助,比如在哪种情况下它会派上用场。

由于

2 个答案:

答案 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的非常基本的服务定位器,但它更像是一个懒惰的初始化模式。但是你要求提供很多简化的东西,所以可能是有用的。