Есть ли список контейнерных сервисов 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 ответов:
командная строка
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
для отображения идентификаторов государственных и частных служб