symfony service

symfony service -- Ошибка You have requested a non-existent service

Проблема

В неопределённый момент перестали работать сервисы с ошибкой:

You have requested a non-existent service "..."

Сам сервис описан так:

symfony service -- Вызов контроллера в других контроллерах (использование одинаковых участков кода)

Для того чтобы можно было вызвать Контроллер из другого Контроллера, необходимо создать для него Сервис.

В чём проблема

При создании экземпляра контроллера Symfony создаёт контейнер, в который помещает стандартные сервисы (например, doctrine). Проблема в том, что, когда мы хотим обратиться к методу контроллера из другого класса, мы не можем просто создать его объект (в нём не будет контейнера).

symfony service Создания сервиса в файле конфигурации. Пример

Свой сервис в Symfony можно создать прямо в файле конфигураций services.yml.

Это имеет смысл, если назначение сервиса - только создание объекта "себя".
Если у вас есть дополнительная логика, операции с другимим оьбъектами, импользуйте вариант создания нового класса для сервиса.

symfony service Сервис -- что это в symfony

Сервис -- на практике какой-то программный объект (пользовательский или предоставляемый бандлом как готовое решение каких-то задач), обычно находится в т.н. "контейнере сервисов"

При каждом запуске приложения, генерируется множество сервисов (например, session, doctrine, templating). Вызывая сервисы в контроллере, вы можете использовать методы их классов.

Subscribe to RSS - symfony service