2016-06-24 4 views
1

symfonyはデバッグの民間のサービスを表示しません:コンテナ--show-プライベート

app/console debug:container --show-private 

を実行するには、public: falseなどで宣言されたサービスが表示されません:私はapp/console debug:container --show-private | wc -lを実行した場合、

another_service: 
     public: false 
     class: MineBundle\Service\FirstService 

をしかしし、 app/console debug:container | wc -l私は別の結果が得られます。

symfony 2.8と3.1で試してみたところ、同じ動作になりました。

ありがとうございます!

+1

あなたのサービスファイルがロードされていることとキャッシュをクリアしていることを確認したことがありますか? – qooplmao

答えて

1

Sorry, it's in the doc :)

民間サービスがようやく一つの他の サービスへの引数として使用されている場合、それはデバッグで表示されません。でも、コンテナコマンド、 --show-を使用した場合プライベートオプション。 のインラインプライベートサービスを参照してください。

が、その後、民間のサービスは特別なもの

は、彼らが一度だけ を注入する場合、彼らはインライン化インスタンスへのサービスから変換されている、ということである(例えば 新しいPrivateThing())。これにより、コンテナのパフォーマンスが向上します。

+0

はい、今より意味があります。本当にコンテナを最適化するためには、これが可視性コントロールのものであると私は思っていました。 :) – Viorel

関連する問題