在http://symfony.com/doc/current/components/dependency_injection/parameters.html的symfony2文档中,它指出参数(在服务定义中)可以定义为数组,例如:
parameters:
foo.class:"Foo"
foo.args:
- arg1
- arg2
我想知道如何将foo.args数组的单个元素传递给服务构造函数,即:
services:
foo:
class:"%foo.class%"
arguments:["%foo.args.1%"] //this line is in question.does this resolve to
//"arg1"?if not, what does?
答案 0 :(得分:1)
您当前的实施工作不会奏效。
内部symfony会尝试访问array['1']
(key = string)而不是array[1]
(key = int)。
考虑使用 service factory ,然后使用所需的数组元素作为参数创建服务...
...或者只是过滤类的构造函数中的数组元素。