Symfony服务作为全局分支变量


Symfony service as global twig variable

我有一个名为General的服务,这是配置:

services:
    app_bundle.general:
        class: AppBundle'Services'General

我正试图将此服务设置为我的trick模板的全局变量,所以在config.yml中我添加了(就像文档中所说的):

parameters:
    general_service: "@services.app_bundle.general"

但有了这个,我有了这个错误:You cannot dump a container with parameters that contain references to other services (reference to service "services.app_bundle.general" found in "/general_service").

如何将我的服务设置为Twig的全局变量?在trick中,使用它类似于:{{general_service.myMethod()}}

谢谢!

正如Artamiel所建议的,将您的服务添加到分支引擎globals:

#app/config/config.yml
twig:
    globals:
        general_service: "@app_bundle.general"

请注意:您的服务的id为app_bundle.general而不是services.app_bundle.general,如您的示例所示。