有人可以为 PHP 中的依赖注入容器 (DIC) 提供一个基本的工作示例吗?
我知道这是一个模糊的问题,我一直在研究一些例子,特别是 Fabian Potencier 的例子,他用一个工作示例很好地解释了 PHP 中的 DI 是什么。
除了 Fabian,我还浏览了一些文章,但我正在寻找 DIC 的工作示例,以便像我这样的人通过一个简单的工作示例获得更好的理解。
可能是一个小小的解释,为什么我们需要使用 DIC 也会有所帮助,比如它在什么情况下会派上用场等等。
谢谢
有人可以为 PHP 中的依赖注入容器 (DIC) 提供一个基本的工作示例吗?
我知道这是一个模糊的问题,我一直在研究一些例子,特别是 Fabian Potencier 的例子,他用一个工作示例很好地解释了 PHP 中的 DI 是什么。
除了 Fabian,我还浏览了一些文章,但我正在寻找 DIC 的工作示例,以便像我这样的人通过一个简单的工作示例获得更好的理解。
可能是一个小小的解释,为什么我们需要使用 DIC 也会有所帮助,比如它在什么情况下会派上用场等等。
谢谢
我不知道你是否读过那篇文章:
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
它只提供了虚拟代码示例,但您肯定会认识到一些现实世界的问题。
如果你到目前为止还没有读过这篇文章,我强烈推荐它:
它不会太长,但也不会太短。根据 Container,它谈到了最初用 Java 编写的 PicoContainer。它的 PHP 变体存在:
PicoContainer 的特定文档是:
我在其他一些答案中描述了一个非常基本的 PHP 服务定位器( PHP Globals 的安全替代品(良好的编码实践)),但我会说它更像是一种惰性初始化模式。但是您要求进行很多简化的事情,所以这可能是有用的。