2017-12-17 11 views
0

コンテナのコンパイル前に使用されていないサービスがコンテナから削除されたというServiceftainerのSymfonyのドキュメントを読んでいます。symfony ServiceContainerはコンパイル後にサービスを削除します

ここでは、コンテナがキャッシュされていない場合は、要求に対してコンテナをコンパイルします。

未使用のサービスを削除しないようにするにはどうすればよいですか?特に、コンテナのコンパイル後に不要なサービスを削除する必要はありますか?

私は、コンテナ(主にオリジナルのSymfonyコンテナから取得したコード)を本質的に書き直すことでDrupalを実行することを認識していますが、これはオプションですが、これを行う方法がより効率的かどうかは疑問です。また、私はSymfonyには比較的新しいので、関連するドキュメンテーションのリンクは非常に高く評価されます。

答えて

2

デフォルトでは、すべての未使用のprivate Symfonyサービスは、プライベートであり、外部から呼び出されるように定義されていないため、削除されます。

privateサービスを1回だけ使用すると、サービスはインライン化され(コンテナから削除されます)。

しかし、あなたはDIコンテナにあなたのサービスを維持したいのであれば、それは公共の

であることを確認してくださいので、 publicサービスは、あなたがそれらを使用しない場合でも、コンテナから削除されません。
関連する問題