Symfony 依赖于不存在的服务“模板化”

Symfony 依赖于不存在的服务“模板化”,symfony,symfony4,Symfony,Symfony4,我试着用 # app/config/services.yml services: project.controller.some: class: Project\SomeBundle\Controller\SomeController arguments: ['@templating'] 及 在Symfony 4 flex中。现在我得到了错误 ServiceNotFoundException The service "project.controlle

我试着用

# app/config/services.yml
services:
    project.controller.some:
        class: Project\SomeBundle\Controller\SomeController
        arguments: ['@templating']

在Symfony 4 flex中。现在我得到了错误

ServiceNotFoundException

The service "project.controller.some" has a dependency on a non-existent service "templating".

请告诉我怎么解决这个问题。My composer.json已包含symfony/模板:^4.0,但这似乎还不够。

symfony 4默认不包含细枝,因此您需要先安装它:

composer require twig

我们应该做到这一点。另外,使用Symfony 4中的服务自动连接,您无需在services.yml中手动声明。默认情况下,Symfony 4不包括Twig,因此您需要先安装它:

composer require twig
我们应该做到这一点。此外,使用Symfony 4中的服务自动连接,您无需在services.yml中手动声明。

使用Symfony 4,您还可以使用自Symfony 3.3以来已提供的新DI功能:

它们将把所有问题简化为:

# app/config/services.yml
services:
    _defaults:
        autowired: true

    Project\SomeBundle\Controller\SomeController: ~
如果您想了解有关real before/after示例的更多信息,请阅读Symfony 4的

,您还可以使用自Symfony 3.3以来已提供的新DI功能:

它们将把所有问题简化为:

# app/config/services.yml
services:
    _defaults:
        autowired: true

    Project\SomeBundle\Controller\SomeController: ~

如果您想了解有关real before/after示例的更多信息,请阅读另一个解决方案是在框架下添加配置,如中所述


另一个解决方案是在框架下添加配置,如

再走一小步:再走一小步: