【问题标题】:Is there a list of Symfony2 default container services?是否有 Symfony2 默认容器服务的列表?
【发布时间】:2012-02-27 23:10:33
【问题描述】:

这是一个取自 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
...

【问题讨论】:

  • 定义“更详细的列表”。
  • 我确定我在 symfony.com 网站的参考区域中看到了“开箱即用”的所有标准版服务的列表。但是现在找不到了。
  • php app/console container:debug 会给你一个所有注册服务的列表

标签: symfony dependency-injection


【解决方案1】:

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

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

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

【讨论】:

  • 从 2.7 版本开始不推荐使用“container:debug”命令,并将在 3.0 中删除。请改用“调试:容器”。 => github.com/symfony/symfony/blob/…
  • 在 Symfony 3 中控制台移至 bin/console
【解决方案2】:

WebProfilerExtraBundle 对此非常有用。

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

【讨论】:

    【解决方案3】:

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

        php app/console container:debug service_id
    

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

    【讨论】:

    • 运行 php app/console container:debug 以列出服务。
    【解决方案4】:

    你可以使用

        php app/console container:debug
    

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

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

    同时显示公共和私有服务 ID

    【讨论】:

      【解决方案5】:

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

      php app/console container:debug | grep service_name
      

      【讨论】:

        【解决方案6】:

        您可以列出服务

        php app/console debug:container log 
        

        如果您需要有关某些服务的更多信息,可以使用帮助

        php app/console debug:container log  --help
        

        【讨论】:

          猜你喜欢
          • 2015-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多