Почему Symfony 3.4 не видит мои сервисы?

Я только что обновил существующий проект Symfony с 3.3.13 до 3.4.

Я изменил файл services.yml моего пакета, чтобы сделать службы общедоступными по умолчанию:

services:
    _defaults: { public: true }
...

Symfony выдает исключение ServiceNotFoundException, когда я пытаюсь получить() любую из служб, определенных в этом файле, и консоль debug:container не показывает ни одну из них, даже с --show-private.

Я знаю, что файл обрабатывается, потому что внесение ошибки (например, сломать отступ) выдает ошибку при прогреве кеша.

Я попытался удалить значение по умолчанию и сделать конкретную службу общедоступной с теми же результатами.

Файл src/SiteBundle/Resources/config/services.yml


person David Patterson    schedule 30.11.2017    source источник
comment
Ваш services.yml импортирован в config.yml?   -  person avpav    schedule 04.12.2017
comment
Ага. Это не новый проект. Он работает уже несколько месяцев. Единственным изменением было обновление до Symfony 3.4 с 3.3.13.   -  person David Patterson    schedule 04.12.2017


Ответы (1)


Поскольку ВСЕ службы являются частными по умолчанию, поскольку Симфони 3.4.

Не только те, что в вашей конфигурации, но и все сторонние, а также из других конфигураций.



Если вам нужно протестировать частные сервисы, вот сообщение Как тестировать частные сервисы в Symfony

person Tomas Votruba    schedule 18.05.2018