web-dev-qa-db-ja.com

Symfony2のデフォルトのコンテナサービスのリストはありますか?

以下は、Symfony2 Webサイトから取得したカスタムサービスの定義(YAML表記)に関する例です。

services:
    newsletter_manager:
        class:     %newsletter_manager.class%
        arguments: [@mailer, @templating]

デフォルトのSymfony2サービスオブジェクトのリストは、カスタムサービスにパラメーターとして挿入できます(@mailer@templating@doctrineなど)。

それらはContainer(たとえば、各Controllerクラスで利用可能)から来ることを知っています。すべてのサービスをダンプしようとしましたが、より詳細なリストを探しています:

php app/console container:debug

logger container Symfony\Bridge\Monolog\Logger
mailer container Swift_Mailer
translator n/a alias for translator.default
...
53
Polmonino

コマンドライン_php app/console container:debug_は、別のサービスに注入したり、Controller with Controller::get($serviceName)から取得したりできるサービスのリストを示します。

このリストには、publicサービスのみが表示されます。オプション_--show-private_をdisplay private servicesに追加します。プライベートサービスは別のサービスにのみ注入でき、コントローラーまたはContainerAwareからはアクセスできません...

[〜#〜] edit [〜#〜]:Symfony 2.7以降では、_debug:container_の代わりに_container:debug_を使用します

121
AlterPHP

WebProfilerExtraBundle はこれに非常に便利です。

また、ルーティング、アセット、およびtwigについてのいくつかの詳細も追加します。これらは非常に役立ちます。

5
Icode4food

単一のサービスの詳細を取得する場合にも、これを行うことができます。

    php app/console container:debug service_id

これにより、そのサービスに関する情報が得られます

5
Victor Odiah

次のコマンドを使用して、目的のサービスの詳細を取得できます。

php app/console container:debug | grep service_name
3
Ashish Awasthi

使用できます

    php app/console container:debug

利用可能なすべてのパブリックサービスIDのリストを取得するか、

    php app/console container:debug --show-private

パブリックサービスIDとプライベートサービスIDの両方を表示する

3
Victor Odiah

でサービスを一覧表示できます

php app/console debug:container log 

いくつかのサービスについて詳しく知りたい場合は、ヘルプを使用できます

php app/console debug:container log  --help