为什么Symfony不会自动邮寄邮件,路由器?

时间:2018-03-21 06:41:22

标签: symfony symfony4

我正在使用Symfony 4.我想在我的服务中使用路由器和邮件程序。我使用依赖注入包含它们。

public function __construct(Swift_Mailer $mailer, EngineInterface $templating, RouterInterface $router)
{
    $this->mailer = $mailer;
    $this->router = $router;
    $this->templating = $templating;
}

我收到此错误:

argument "$templating" of method "__construct()" references interface "Symfony\Component\Templating\EngineInterface" but no such service exists. It cannot be auto-registered because it is from a different root namespace. Did you create a class that implements this interface?

在Symfony 4中使用Mailer,路由器服务的任何提示?

2 个答案:

答案 0 :(得分:5)

我必须composer require symfony/templating才能获得Symfony\Bundle\FrameworkBundle\Templating\EngineInterface服务。

还必须在framework下添加以下配置:

templating: enabled: false engines: ['twig']

答案 1 :(得分:3)

请阅读错误消息,开发人员没有为了好玩而写异常... 更改TypeHint并使用Interface,autowire使用接口类型提示

试试这个:

public function __construct(Swift_Mailer $mailer, \Twig_Environment $templating, RouterInterface $router)