我已经看到许多框架在 php 中实现了 DI。但是,由于 php 中的所有对象都是在单个请求的生命周期内创建和销毁的,我想知道这会如何影响性能。
通常,您将在 DI 容器内定义许多对象。在 php 中,即使 Controller 不需要这些对象中的大部分,它们仍然会被实例化。此外,如果您在 php 文件中声明 DI 依赖项,您将加载所有引用的脚本。没有 DI,你只加载你需要的东西。
我已经看到一些框架允许惰性 DI,所以这应该有助于不需要的实例化。也许分割 DI 也是解决第一个问题的一种方法。那么,DI 是否会对我的 php 应用程序性能产生不利影响,我应该如何在 php 中实现 DI 以使其不会发生?