PHP的控制容器反转?

时间:2020-03-05 18:50:06  来源:igfitidea点击:

我正在尝试使用PHP编写TDD样式,而我最大的绊脚石之一(除了缺少像样的IDE之外)是我必须使自己的IoC容器被黑客入侵,只是为了正确地注入所有模拟对象。

有没有人在php中使用过Ioc容器?我所能找到的只是在烦人的phpclasses.org上的PHP IOC,它似乎几乎没有文档,也没有太多的文档。

解决方案

回答

我使用过一些用于PHP的DI框架,但是在生产中没有使用过。有一些链接:

  • http://www.stubbles.net/我认为这是我尝试过的最古老的
  • http://php.xjconf.net/
  • FLOW3-我相信这将成为一个非常不错的框架(目前为beta)

我们提到我们将其用于TDD,所以可以看看PHP中单元测试的依赖注入

回答

在过去的六个月中,我一直在研究名为Substrate的PHP IoC / DI容器。这项工作仍在进行中,但是已经在生产中部署了一个半月,并且到目前为止运行良好。

Substrate受Spring框架的启发,但在编写时考虑了PHP的优势和局限性。此时的文档非常少,但是有一些示例代码,包括一个单元测试示例。我们认为这是否可以用于TDD?

回答

Phemto正在重新开发,并且看起来非常有前途,恕我直言。

我们可能要查看的其他一些类似项目:

桶(免责声明:我是这一本书的主要作者)

picocontainer的php端口已经存在很长时间了。我不认为它正在得到积极发展,但另一方面,我认为它相当稳定。自从我看了已经很久了。

我最近偶然发现的一个相当新的项目是Crafty。虽然不确定有多少人使用它。

我也在看sphicy,看起来很有趣。