Php 这里需要依赖项注入容器吗
在我的程序开始时,我需要设置以下依赖项:Php 这里需要依赖项注入容器吗,php,oop,design-patterns,dependency-injection,inversion-of-control,Php,Oop,Design Patterns,Dependency Injection,Inversion Of Control,在我的程序开始时,我需要设置以下依赖项: //Set up dependencies $fileSettings = array(12, 'extra_lines', 'close_on_save'); $exporter = new Exporter('exporterpath/filename.txt', $fileSettings); $outputStream = new OutputStream(); $businessModel = new BusinessModel(
//Set up dependencies
$fileSettings = array(12, 'extra_lines', 'close_on_save');
$exporter = new Exporter('exporterpath/filename.txt', $fileSettings);
$outputStream = new OutputStream();
$businessModel = new BusinessModel('param1', 'param2');
//Run application
$application = new Application($exporter, $outputStream, $businessModel);
$application->start();
在这里,您可以看到我的主应用程序有一些依赖项,这是引导时注入所需的所有代码
这是否保证了依赖项注入容器
如果不是,工厂方法会更合适吗?这是一篇很好的依赖注入文章(甚至是PHP!) 从文章中: 大多数情况下,您不需要依赖项注入容器来 从依赖注入中获益 但是,当您需要使用大量资源管理大量不同的对象时 依赖项,依赖项注入容器真的很有用 (例如,考虑一个框架) 我相信正确的答案与你的情况有多复杂有关。在某个时候,某个地方,某个地方,必须知道如何把所有这些放在一起。如果它变得乏味和丑陋,那么它可能是一个容器的时间
实际上,你从来没有真正拥有过一个容器。这通常是一个好主意,因为它提供了灵活性。因此在我的示例中,基于我展示的对象,您认为需要di容器吗?我不喜欢那篇文章,因为它更像是一种工厂模式。但我只是在学习,所以我显然弄错了。需要吗?不是。以后再考虑灵活性和可维护性好吗?是的,依我看,对你来说,保持现状是完全可以接受的。如果就这些,那就别管了。但是下一次你需要增加复杂性时,考虑一下那个容器。谢谢,因为我想做的最后一件事就是让事情变得更复杂。我认为设计一些东西实际上可以让它看起来像你不知道你在做什么