Service-Definition Beispiel möchte ich konvertieren:Symfony YAML-Format Konvertierung: "Anrufe" mit String params
MyService:
class: MyClass
calls:
- [add, ["%param1%", "%param2%"]]
- [add, ["%param3%", "%param4%"]]
Und das kompilieren:
$instance->add('param1', 'param2');
$instance->add('param3', 'param4');
Nach meiner Frage #38822898 Ich versuche weiter:
MyService:
class: MyClass
calls:
-
- add
-
- "%param1%"
- "%param2%"
- add
-
- "%param3%"
- "%param4%"
Und diese Kompilierung:
$instance->add('param1', 'param2');
Also, wo ist das Problem in zweiten YAML Beispiel?
MyAnotherService:
class: MyAnotherClass
factory:
- MyFactoryClass
- create
calls:
-
- add
-
- >-
@=service('AnotherService1').create(
service('AnotherService2'),
service('AnotherService3')
)
- add
-
- >-
@=service('AnotherService1').create(
service('AnotherService3'),
service('AnotherService4')
)
Compiliert zu:
UPD # 1
Nach meiner vorherigen Frage, die nächste YAML Beispiel auch zwei Anrufe von "add" Verfahren, nicht nur eine kompilieren
$instance->add($this->get("AnotherService1")->create($this->get("AnotherService2"), $this->get("AnotherService3")));
Hmm, ich habe schon versucht, verpasst "-" hinzuzufügen, wie Sie vorschlagen. Fügen Sie es jetzt wieder hinzu - und es funktioniert o_O. Zauber. Oder Cache. Das gleiche gilt für das zweite Beispiel mit @service - jetzt auch workerd. – Alex
Vielleicht eine gute Idee, zwei Fenster offen zu halten für http://yaml-online-parser.appspot.com, eine mit dem Original und eine mit dem Neuschreiben (zumindest während des Experimentierens). Wenn der entsprechende JSON Unterschiede aufweist (die Sie leicht bemerken können), hat Ihre Eingabe-YAML semantische Unterschiede. – Anthon