1.Передача параметров в службу? Если это еще не определено в services.xml (или yaml), единственный способ передать параметры в службу:
$container->setParameter('loader', $loader);
$container->get('myservice');
Я полагаю, что такЗагрузчик будет доступен для ВСЕХ сервисов, а не только для «myservice»?
2.Передача массива объектов в службу? Класс Template / DelegatingEngine принимает массив объекта engine в конструктор, и я не знаю, как мне определить это в 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>