0

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

现在,我了解 Auryn 的第一件事是它试图避免成为依赖容器,并且在文档中明确写道,您不应该将 Auryn 的实例用作容器,将其传递给各个类您的应用程序。

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

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

您认为最好的方法是什么?

4

1 回答 1

1

依赖注入背后的想法是在一个地方(您的 DI 容器类/DI 配置文件)收集各种类如何“连接”的所有信息,而不是在您的代码中传播和复制它。我假设您的“Main”类仅在您的 Index.php 中实例化一次,因此无论您将 Auryn 实例传递给 Main 的构造函数还是使用 Auryn 获取 Main 的实例,都没有明显区别。

于 2017-09-04T21:14:23.390 回答