在symfony

时间:2016-11-28 07:46:22

标签: dependency-injection symfony

我是Symfony的新手。我已经全局了解了工作,但我认为我在依赖注入方面犯了一些错误。

如果我理解依赖注入,我不应该在类中使用我的类对象,我需要在外部实例化我的依赖项对象,然后将这些实例作为构造函数参数(或方法参数或属性)传递。 使用这种模式,我的类是独立的,因为当我对我的类进行单元测试时,我可以传递模拟对象而不是真实对象。我在这一点上是对的吗?

但是,当我查看Symfony框架包中,或者当我看到doctrine生成的代码时,看到的是文件顶部的一些使用语句,我看到对象在类中。所以我想知道为什么不遵守依赖注入模式。

所以我的问题是:我应该总是使用依赖注入还是只是在某些情况下?

由于

*编辑*

例如,如果创建一个新的symfony项目。让我们来看看src / AppBundle / Controller / DefaultController.php:

在文件的顶部,我看到了:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

这意味着如果我需要对这个文件进行单元测试,我将有3个依赖项,我不能使用模拟对象来实现这3个依赖项。

**编辑2 **

供应商/教义/学说束/命令/ DoctrineCommand.php

$entityGenerator = new EntityGenerator();

0 个答案:

没有答案