2012-02-15 8 views
8

@somevarまたは%somevar%のような特別な構文についての詳細は、symfony2のyaml設定のどこで入手できますか?Symfony 2 YAML渡し配列

たとえば、@を使用すると、サービスへの呼び出しが定義されます。つまり、依存関係をサービスに渡す方法が定義されています。一方、%somevar%は、名前がsomevarの既に定義されたパラメータの値を参照します。

私がやるのであれば、:その後、

parameters: 
    custom: "some value" 
    another: %custom% 

anotherは、私の場合には、「何らかの値」である、customの値が移入されます。私の質問は、これらの関係はどこに文書化されていますか?

私の特に必要なのは、%somevar[somekey]%のような配列の要素を参照できることですが、その構文は機能しません。

ありがとうございます!

EDIT:YAMLドキュメントでFull merge key support. Full support for references, aliases, and full merge key. Don't repeat yourself by referencing common configuration bits.

が、それについてはfurthurドキュメント..あなたが探している何

答えて

0

はYAMLそのものについて、しかしのYAMLローダーについては本当にありません:私はこれを認めませんでしたDependency Injectionコンテナ。 http://components.symfony-project.org/dependency-injection/trunk/book/05-Service-Description

Symfony2のは(同じ原則に基づいて)新しいコンポーネントが付属しています:あなたはそれについてのドキュメントを検索する場合

は、ここに古いコンポーネント(V1)のためのものです。 http://symfony.com/doc/current/book/service_container.html#service-parameters

問題については、DIパラメータのキーにアクセスすることはできません。手動で平坦化する必要があります。

あなたのニーズに合わせてDI拡張を使うことができます。https://github.com/symfony/AsseticBundle/blob/master/DependencyInjection/AsseticExtension.php#L54(おそらく最も良い例ではないかもしれません。

+0

実際には、重複を避けるために、他のパラメータ内のパラメータを参照するだけで十分でした。だから、それはDIまでではない。私はYAMLのエイリアスがこのトリックを行うことができることを知りました。私が必要とするエントリにタグをつけ、次にそれらを参照する必要があります:http://code.google.com/p/snakeyaml/wiki/Documentation#Aliases柔軟性は私が期待したとおりですが、そのトリックを行います。とにかくありがとう! –

関連する問題