1
服務定義的例子,我想轉換:的Symfony YAML格式轉換: 「來電」 用繩子PARAMS
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")));
嗯,我已經嘗試添加錯過「 - 」,如你所建議的。現在再次添加 - 它工作o_O。魔法。或緩存。第二個示例與@service相同 - 現在也是workerd。 – Alex
也許一個好主意,讓兩個窗口打開http://yaml-online-parser.appspot.com,一個與原始和一個與重寫(至少當你正在試驗)。如果相應的JSON存在差異(您應該能夠輕鬆注意到),則您的輸入YAML具有語義差異。 – Anthon