如何以“正确”的方式使用Auryn for DI?

时间:2017-09-04 12:04:09

标签: php dependency-injection auryn

我正在从头开始编写一个小应用程序,我想使用packagist中的一些软件包。对于DI,我选择了Auryn。

现在,我学习Auryn的第一件事就是它试图避免成为一个依赖容器,它在文档中明确地写道,你不应该使用Auryn实例作为容器,传递它你的应用程序的各个类。

我对此很好,但是,因为我有一个“主”类作为应用程序所有主干的包装器,我认为我应该在这个主类的构造函数中只有一个依赖Injector对象(那是主要的Auryin对象),然后在类的构造函数中,我应该连接所有内容以准备DI和反射。

另一种方法是不使用主类,只需在我的索引文件中使用干净的过程代码,以与Auryn相同的方式连接所有togheter。

您的建议是最好的方法吗?

1 个答案:

答案 0 :(得分:1)

依赖注入背后的想法是收集各种类的信息,如何连接"在一个地方(您的DI容器类/ DI配置文件),而不是在您的代码上传播和复制它。我认为你的" Main" -class只在你的Index.php中实例化一次,所以你是否将Auryn实例传递给Main的构造函数或者使用Auryn来获取一个实例是没有明显区别的。主