Is there a list of Symfony2 default container services?

杀马特。学长 韩版系。学妹 提交于 2019-12-18 10:00:32

问题


Here is an example, taken from Symfony2 website, about defining a custom service (YAML notation):

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

Is there a list of default Symfony2 service objects that can be injected into a custom service as parameters (like @mailer, @templating, @doctrine)?

I know that they come from the Container (which is available, for example, in each Controller class). I've tryed to dump all services, but i'm looking for a more detailed list:

php app/console container:debug

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

回答1:


The command line php app/console container:debug shows the list of services you can inject into another service or get from a Controller with Controller::get($serviceName).

This list shows only public services. Add the option --show-private into display private services. Private services can only be injected in another service, not accessed from a Controller or any ContainerAware...

EDIT: From Symfony 2.7, use debug:container instead of container:debug




回答2:


The WebProfilerExtraBundle is very useful for this.

It also adds some details about routing, assetic and twig that are very helpful. As a someone learning to think in Symfony, I REALLY like this bundle.




回答3:


you can also do this if you want to get details of a single service:

    php app/console container:debug service_id

this will give you info on that service




回答4:


you can use

    php app/console container:debug

to get a list of all available public service IDs or

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

to show both public and private service IDs




回答5:


you can use following command to get desired service details:

php app/console container:debug | grep service_name



回答6:


You can list services with

php app/console debug:container log 

If you need more about some service you can use the help

php app/console debug:container log  --help


来源:https://stackoverflow.com/questions/9473846/is-there-a-list-of-symfony2-default-container-services

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!