我见过一些框架在php中实现DI。但是,由于PHP中的所有对象都是在单个请求的生命周期中创建和销毁的,因此我不知道这会如何影响性能。依赖注入,PHP和性能问题
通常,您将在DI容器内定义一些对象。在php中,即使Controller不需要大多数这些对象,它们仍将被实例化。 另外,如果你在一个php文件中声明你的DI依赖关系,你将加载所有引用的脚本。没有DI,你只加载你需要的东西。
我看到一些框架允许惰性DI,所以这应该有助于不需要的实例化。也许分割DI也是解决第一个问题的方法。 那么,DI会不会影响我的PHP应用程序性能,我应该如何去实现DI在PHP中,所以它不会发生?
您的应用程序是否达到了额外开销实际上导致问题的级别?或者,在你编写第一个''标签对之前,你是否担心这一点?开始时不要微观优化。 – 2012-04-12 18:31:13
应用程序遭遇性能问题,部分大修正在重构应用程序,使其更加模块化,引入了di fwks,doctrine 2等,以便更易于维护和优化。我不希望这会引入额外的性能损失。 – Dan 2012-04-12 18:45:20
我不认为决定DI方法/框架是一个微观优化。这是一个应用基础。 – webbiedave 2012-04-12 18:47:04