Как внедрить настройки из security.yml в сервис? - PullRequest
1 голос
/ 03 ноября 2011

У меня есть пользовательский сервис, и я хочу добавить в него значение check_path (из app/config/security.yml). В своем определении сервиса я попытался использовать

arguments:
  check_path: %security.firewalls.main.form_login.check_path%

но это приводит к этой ошибке:

Служба "myService" зависит от несуществующего параметра "Security.firewalls.main.form_login.check_path".

Кто-нибудь знает, как заставить это работать?

Редактировать
Есть обходной путь, где я могу сначала определить переменную в parameters.ini, а затем использовать ее в security.yml и внедрить ее в свой сервис, но я бы хотел этого избежать. Необходимость 'redeclare' переменных в parameters.ini может показаться запутанной, особенно если позже мне понадобится добавить еще больше настроек из security.yml. Я бы не хотел определять что-то в файле parameters.ini каждый раз, когда это должно происходить.

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Добавьте это к вашему parameters.yml (или parameters.ini - затем используйте = вместо :) файл:

login.check_path: /your/path/here

Затем перейдите к вашему security.yml и сделайте следующее:

form_login:
    check_path: %login.check_path%

Затем используйте это в качестве аргумента:

arguments: [ %login.check_path% ]
0 голосов
/ 03 ноября 2011

Я не уверен на 100%, может быть, кто-то еще может подтвердить, но попробуйте @ security.firewalls.main.form_login.check_path (с @ вместо кавычек для ссылки на config и сервисы)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...