私は Symfony2 DIC が大好きです。サービス XML コンフィギュレーターは使いやすいです。しかし、たとえば新しいサービスを宣言すると、次のようになります。
<service id="form.csrf_provider" class="Symfony\Component\Form\Extension\Csrf\CsrfProvider\SessionCsrfProvider">
<argument type="service" id="session"/>
<argument>ThisTokenIsNotSoSecretChangeIt</argument>
</service>
呼び出すと、セッションが自動的に作成されます
$container->get('form.csrf_provider')
私がまったく使わなくても (Form を使わなくても Twig は使ってくれます..)、カスケード効果として、たくさんのサービス クラスが作成され、決して使われません! それは多くの費用がかかります。
私は教義がエンティティにプロキシパターンを使用していることを知っています.エンティティはロードされません.
$entity->getTitle() // etc....
サービス クラスに対しても同じことを行う必要があります (もちろん、本番環境のみ)。これにより、Symfony2 が大幅に改善されます。私の現在の解決策は、コンテナ自体を引数として渡すことですが、DICの目標を破っています;-(
誰にも他の解決策がありますか?ありがとう