1
サービスの定義例のparamsの文字列と "通話" 私は変換したい:symfonyのYAMLフォーマット変換:
MyService:
class: MyClass
calls:
- [add, ["%param1%", "%param2%"]]
- [add, ["%param3%", "%param4%"]]
そして、これがにコンパイルします。私の質問#38822898によると
$instance->add('param1', 'param2');
$instance->add('param3', 'param4');
私は次の試してみてください。
MyService:
class: MyClass
calls:
-
- add
-
- "%param1%"
- "%param2%"
- add
-
- "%param3%"
- "%param4%"
そして、これがにコンパイルします。
$instance->add('param1', 'param2');
だから、2番目のYAMLの例ではどこに問題がありますか?
UPD#1
私の前の質問によると、次のYAMLの例でも、一つだけ、 "追加" 方法の2つの呼び出しにコンパイルされません:
: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の2番目の例と同じです - 今もworkerdです。 – Alex
2つのウィンドウをhttp://yaml-online-parser.appspot.comに開いたままにしておくとよいでしょう。元のものと1つは書き換えあり(少なくとも実験中)。対応するJSONに違いがある場合(簡単に気付くはずです)、入力されたYAMLには意味の違いがあります。 – Anthon