1

Symfony2 の学習を「終了」した後、Sonata Admin および User バンドルを調べ始めました。これらのバンドルは、将来の作業に役立つ可能性があるからです。

最初は、すべてがひどく複雑で理解しにくいように思えます。しかし、実際のファイルやクラスなどに適用される数時間のアーキテクチャ研究により、そのバンドルの本質とこれがどのように機能するかを完全に理解したと思います。

すべてを理解するための私の唯一の「ブラック ホール」は、 に使用されるパラメータをどこで見つけることができるかsonata.user.admin.userということsonata.user.admin.user.entityです。私の知る限り、そのパラメーターは、データベースとの間の読み取り/書き込み操作を担当するユーザークラスを単に指しています。

私がこれを尋ねるのは、何十分も探した後、それらの情報を見つけた唯一の場所が

./app/cache/prod/appProdProjectContainer.php
./app/cache/dev/appDevDebugProjectContainer.xml
./app/cache/dev/appDevDebugProjectContainer.php

この変数がそこでのみ定義されている可能性はありますか?
はいの場合、cacheフォルダに配置されているためですか? ロード時間は速くなりますか?

4

1 に答える 1

1

DependencyInjectionフォルダー内の拡張機能も確認する必要があります。引数がyaml1 つの方法で定義されている場合がありますが、連結でロードした後、別の方法に変換されます。

あなたの中に次のparametersようなものがある場合:

your_user: 'Somename'

そして、DependencyInjection次のように解析されます。

foreach($config as $key => $value) {
    $container->setParameter('your.prepend.'.$key, $value);
}

最後に、パラメータを index でコンパイルしますyour.prepend.your_user

言及されたバンドルでも同じロジックが使用されていると思います。


アップデート:

記述ロジックの使用

于 2012-08-28T12:50:42.933 に答える