symfony2:如何从模板访问服务

tor*_*mas 43 php symfony

如果我创建了一个服务,有没有办法从twig访问它,而不创建twig.extension?

Mun*_*Das 110

您可以将服务设置为twig全局变量config.yml,例如

#app/config/config.yml
twig:
    globals:
        your_service: "@your_service"
Run Code Online (Sandbox Code Playgroud)

在您的template.html.twig文件中,您可以通过以下方式调用您的服务:

{{ your_service.someMethod(twig_variable) }}
Run Code Online (Sandbox Code Playgroud)

看到这里.

  • 我可能更喜欢在controllerAction中插入服务而不是全局变量oO (15认同)
  • @Gigala只注入你真正需要的东西,更清洁. (5认同)
  • 或者通过"@service_container"获取整个容器 (4认同)