关于Symfony 2服务容器参数的问题
1。将参数传递到服务中? 如果尚未在services.xml(或yaml)中定义,则将参数传递到服务的唯一方法是:关于Symfony 2服务容器参数的问题,symfony,Symfony,1。将参数传递到服务中? 如果尚未在services.xml(或yaml)中定义,则将参数传递到服务的唯一方法是: $container->setParameter('loader', $loader); $container->get('myservice'); 我想这样的话,加载器将可用于所有服务,而不仅仅是“myservice” 2。将对象数组传递到服务? Template/DelegatingEngine类将引擎对象数组带入构造函数,我不知道应该如何在xml文件中定义它:
$container->setParameter('loader', $loader);
$container->get('myservice');
我想这样的话,加载器将可用于所有服务,而不仅仅是“myservice”
2。将对象数组传递到服务?
Template/DelegatingEngine类将引擎对象数组带入构造函数,我不知道应该如何在xml文件中定义它:
public function __construct(array $engines = array())
{
$this->engines = array();
foreach ($engines as $engine) {
$this->addEngine($engine);
}
}
我应该把什么放进盒子里
<service id="myCustomeFramework.TemplateEngine" class="path\to\DelegateEngine" scope="prototype">
<argument>how can i pass an array of engines here?</argument>
</service>
我如何在这里传递一组引擎?
答案1
是的,它将可用于所有使用该参数的服务以及设置该参数后调用的服务
答案2
要使用xml将数组作为参数传递给服务,必须采用以下方式:
<service id="myCustomeFramework.TemplateEngine" class="path\to\DelegateEngine" scope="prototype">
<argument type="collection">
<argument key="key">value</argument>
<argument key="key">value</argument>
<argument key="key">value</argument>
</argument>
</service>
价值
价值
价值
谢谢artberri,既然值应该传递到引擎对象中,那么我应该在值字段中输入什么?@mr1031011,你找到解决方案了吗?@VidyVideni也许你可以作为服务传递,或者使用工厂传递?