12

我的 parameters.yml 文件有:

parameters:
     title:
          subtitle: value

我想将 传递value给 config.yml 中的服务

my_service:
        class: the_class
        arguments: [ %title.subtitle%] //didn't work
        arguments: [ %title['subtitle']%] //didn't work

我怎样才能做到这一点?

4

2 回答 2

16

Symfony2 不支持使用%符号读取参数数组上的单个元素。你正在做的事情不可能开箱即用。

唯一的方法是创建自己的Symfony\Component\DependencyInjection\ParameterBag\ParameterBag支持获取数组项的方法。

于 2013-11-12T04:28:07.720 回答
15

%符号不起作用,但可以通过以下方式完成:

my_service:
    class: the_class
    arguments: ["@=container.getParameter('title')['subtitle']"]

它至少适用于 symfony 2.7.3

有关表达式语言的更多信息可以在食谱中找到: http: //symfony.com/doc/current/book/service_container.html#using-the-expression-language

于 2015-09-06T09:07:23.103 回答