Kot999
Новичок
Приветствую! Уважаемые знатоки, вопрос от телезрителя из Одессы.
С Symfony знаком "без года - неделю".
Есть некое приложение на Symfony 2.8 которое нуждается в конфигурации некоторых бандлов на лету (мультидоменное приложение, и конфигурация должна подтягиваться в зависимости от домена, на котором оно запущено) так же нужно избежать кэширования всего, что связано с этой конфигурацией.
Как я это вижу: создать сервис который управляет некоторыми настройками и возвращает их по вызову некоторого метода. и это отчасти работает, когда я хочу эти настройки передать в другой сервис, в конфигурации
services:
....
app.service.myConfigService:
class AppBundle\Services\MyConfigService
sayNameService:
name: "@=service('app.service.myConfigService').getName()"
....
тут это срабатывает, в name передается значение возвращаемое вызовом метода getName() моего сервиса.
Однако когда пытаюсь конфигурировать Бандлы, то это не прокатывает (бандлы нужно конфигурировать разные, поэтому " а что если сделать такой-то костыль для twig" не прокатит)
....
twig:
globals:
name: "@=service('app.service.myConfigService').getName()"
#name: "@app.service.myConfigService.getName()" такой вариант тоже не работает
....
ServiceNotFoundException in CheckExceptionOnInvalidReferenceBehaviorPass.php line 58:The service "twig" has a dependency on a non-existent service "=service('app.service.myConfigService').getname()".
Вероятно сервис в этот момент еще не существует.
Внимание, вопрос: Каким образом добиться конфигурации разных бандлов "на лету" через сервис.
С Symfony знаком "без года - неделю".
Есть некое приложение на Symfony 2.8 которое нуждается в конфигурации некоторых бандлов на лету (мультидоменное приложение, и конфигурация должна подтягиваться в зависимости от домена, на котором оно запущено) так же нужно избежать кэширования всего, что связано с этой конфигурацией.
Как я это вижу: создать сервис который управляет некоторыми настройками и возвращает их по вызову некоторого метода. и это отчасти работает, когда я хочу эти настройки передать в другой сервис, в конфигурации
services:
....
app.service.myConfigService:
class AppBundle\Services\MyConfigService
sayNameService:
name: "@=service('app.service.myConfigService').getName()"
....
тут это срабатывает, в name передается значение возвращаемое вызовом метода getName() моего сервиса.
Однако когда пытаюсь конфигурировать Бандлы, то это не прокатывает (бандлы нужно конфигурировать разные, поэтому " а что если сделать такой-то костыль для twig" не прокатит)
....
twig:
globals:
name: "@=service('app.service.myConfigService').getName()"
#name: "@app.service.myConfigService.getName()" такой вариант тоже не работает
....
ServiceNotFoundException in CheckExceptionOnInvalidReferenceBehaviorPass.php line 58:The service "twig" has a dependency on a non-existent service "=service('app.service.myConfigService').getname()".
Вероятно сервис в этот момент еще не существует.
Внимание, вопрос: Каким образом добиться конфигурации разных бандлов "на лету" через сервис.