Intereting Posts

Преобразование формата Symfony YAML: «вызовы» со строковыми параметрами

Пример определения службы, который я хочу преобразовать:

MyService: class: MyClass calls: - [add, ["%param1%", "%param2%"]] - [add, ["%param3%", "%param4%"]] 

И это скомпилировано для:

 $instance->add('param1', 'param2'); $instance->add('param3', 'param4'); 

По моему вопросу # 38822898 я пробую следующее:

 MyService: class: MyClass calls: - - add - - "%param1%" - "%param2%" - add - - "%param3%" - "%param4%" 

И это скомпилировано для:

 $instance->add('param1', 'param2'); 

Итак, где проблема во втором примере YAML?

UPD # 1

Согласно моему предыдущему вопросу, следующий пример YAML также не компилируется для двух вызовов метода «добавить», только один:

 MyAnotherService: class: MyAnotherClass factory: - MyFactoryClass - create calls: - - add - - >- @=service('AnotherService1').create( service('AnotherService2'), service('AnotherService3') ) - add - - >- @=service('AnotherService1').create( service('AnotherService3'), service('AnotherService4') ) 

Скомпилирует:

 $instance->add($this->get("AnotherService1")->create($this->get("AnotherService2"), $this->get("AnotherService3"))); 

В вашем расширении отсутствует a - , это должно быть:

 MyService: class: MyClass calls: - - add - - "%param1%" - "%param2%" - # < this one is missing - add - - "%param3%" - "%param4%" 

В вашем «переписывании» два add скаляров являются частью одной и той же последовательности, но в вашем оригинале они являются первыми элементами из разных элементов родительской последовательности.

Аналогичная проблема возникает и во втором примере.