Как отлаживать сервис-контейнер и список сервисов

Дата обновления перевода 2023-01-11

Как отлаживать сервис-контейнер и список сервисов

Вы можете узнать, какие сервисы зарегистрированы в контейнере, используя консполь. Чтобы отобразить все сервисы (публичные и приватные), и их PHP-классы, выполните:

1
2
3
4
$ php bin/console debug:container

# добавьте эту опцию, чтобы отобразить и "скрытые сервисы" (те, чьи ID начинаются с точки)
$ php bin/console debug:container --show-hidden

Чтобы увидеть список всех доступных типов, которые могут быть использованы для автомонтирования, выполните:

1
$ php bin/console debug:autowiring

Отладка сервис-тегов

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

1
$ php bin/console debug:container --tag=kernel.event_listener

Частичный поиск также доступен:

1
2
3
4
5
6
7
8
9
10
$ php bin/console debug:container --tag=kernel

Выберите один из следующих тегов, чтобы отобразить его информацию:
 [0] kernel.event_listener
 [1] kernel.event_subscriber
 [2] kernel.reset
 [3] kernel.cache_warmer
 [4] kernel.locale_aware
 [5] kernel.fragment_renderer
 [6] kernel.cache_clearer

6.2

Частичный поиск был представлен в Symfony 6.2.

Детальная информация об одном сервисе

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

1
2
3
4
$ php bin/console debug:container App\Service\Mailer

# чтобы отобразить аргументы сервиса:
$ php bin/console debug:container App\Service\Mailer --show-arguments