【问题标题】:accessing array elements in symfony2 service container访问 symfony2 服务容器中的数组元素
【发布时间】:2014-07-26 05:29:35
【问题描述】:

我会用一个简单的例子来解释。这是 services.yml 文件:

parameters:
    foo.array:
        bar: barstring
        baz: bazstring

services:
    bar_service:
        class: barclass
        arguments:
            - # i want to give foo.array['bar'] (barstring) here as an argument

我该怎么做?

【问题讨论】:

  • 我试过 %foo.array.bar% 和 %foo.array["bar"]% 但它们都不起作用。
  • 我不完全确定你可以。您可以将barstring 设置为它自己的参数,然后将其引用为bar: %barstring% 以停止重复并保留数组,但我不确定其他方式是否可行......事实上这已经涵盖,见stackoverflow.com/a/19920871/1791606

标签: symfony service parameter-passing


【解决方案1】:

你不能这样做。参数必须在第一级。

在您的示例中,您可以这样做:

parameters:
    foo.array.bar: barstring
    foo.array.baz: bazstring

services:
    bar_service:
        class: barclass
        arguments:
            - %foo.array.bar%

this stackoverflow question 的副本

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多