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

Pol*_*ino 53 dependency-injection symfony

以下是一个来自Symfony2网站的关于定义自定义服务(YAML表示法)的示例:

services:
    newsletter_manager:
        class:     %newsletter_manager.class%
        arguments: [@mailer, @templating]
Run Code Online (Sandbox Code Playgroud)

是否有一个默认的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
...
Run Code Online (Sandbox Code Playgroud)

Alt*_*PHP 121

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

此列表仅显示公共服务.将选项添加--show-private到显示私有服务.私有服务只能注入另一个服务,不能从Controller或任何ContainerAware访问...

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

  • 从版本2.7开始,不推荐使用"container:debug"命令,并且将在3.0中删除.请改用"debug:container".=> https://github.com/symfony/symfony/blob/c8475c938d55eb8e7c7df53177b346012b39159c/src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php#L99 (3认同)

Ico*_*ood 5

WebProfilerExtraBundle是这个非常有用的.

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


Vic*_*iah 5

如果您想获得单个服务的详细信息,也可以执行此操作:

    php app/console container:debug service_id
Run Code Online (Sandbox Code Playgroud)

这将为您提供有关该服务的信息