繁体   English   中英

在Symfony2中将Array的单个元素用作服务构造函数参数

[英]Using Single element of Array as service constructor argument in symfony2

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?

您当前的实现无效。

在内部,symfony将尝试访问array['1'] (key = string)而不是array[1] (key = int)。

考虑使用服务工厂 ,该服务工厂依次使用数组的所需元素作为参数来创建服务...

...或者只是在类的构造函数中过滤数组元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM