是否有Symfony2默认容器服务的列表?

下面是一个从Symfony2网站取得的关于定义一个自定义服务 (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 ... 

命令行php app/console container:debug显示可以注入到另一个服务中的服务列表,或者从Controller with Controller::get($serviceName)

该列表仅显示公共服务。 将选项--show-private添加到显示专用服务中。 私人服务只能注入另一个服务,不能从Controller或任何ContainerAware访问…

编辑 :从Symfony 2.7,使用debug:container而不是container:debug

WebProfilerExtraBundle对此非常有用。

它还增加了一些有关路由,资产和树枝的细节,这是非常有用的。 作为一个在Symfony学习思考的人,我真的很喜欢这个包。

如果您想获取单个服务的详细信息,也可以这样做:

  php app/console container:debug service_id 

这会给你关于该服务的信息

您可以使用以下命令获取所需的服务详细信息:

 php app/console container:debug | grep service_name 

您可以使用

  php app/console container:debug 

获取所有可用的公共服务ID列表

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

显示公共和私人服务ID

您可以列出服务

 php app/console debug:container log 

如果您需要更多关于一些服务,您可以使用帮助

 php app/console debug:container log --help