Есть ли список контейнерных сервисов 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 SymfonyBridgeMonologLogger
mailer container Swift_Mailer
translator n/a alias for translator.default
...
6 53

6 ответов:

командная строка php app/console container:debug показывает список услуг, которые вы можете вводить в другой сервис или получить от Controller with Controller::get($serviceName).

этот список показывает только общественные услуги. Добавьте опцию --show-private на дисплее частная услуги. Частные службы могут быть введены только в другую службу, не доступную с контроллера или любого контейнера...

EDIT: из Symfony 2.7, используйте debug:container вместо container:debug

The WebProfilerExtraBundle очень полезно для этого.

Он также добавляет некоторые детали о маршрутизации, assetic и ветки, которые очень полезны. Как человек, который учится думать в Symfony, мне очень нравится этот пакет.

вы также можете сделать это, если вы хотите получить подробную информацию об одной службе:

    php app/console container:debug service_id

это даст вам информацию об этой службе

можно использовать

    php app/console container:debug

чтобы получить список всех доступных идентификаторов государственной службы или

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

для отображения идентификаторов государственных и частных служб

вы можете использовать следующую команду, чтобы получить нужные данные услуги:

php app/console container:debug | grep service_name

вы можете перечислить услуги с

php app/console debug:container log 

Если вам нужно больше, о некоторых вы можете воспользоваться помощью

php app/console debug:container log  --help