Symfony2 - передать параметр в сервис - PullRequest
1 голос
/ 01 декабря 2011

есть ли способ передать параметр в сервис из СЕССИИ или другого источника? У меня есть что-то вроде этого в моей конфигурации пакета:

<service id="class" class="MyClass">
    <argument key="lang">%class.lang%</argument>
</service>

Я знаю, что это можно сделать, передав параметр из Extension в DependencyInjection, но я не уверен насчет источника этой переменной, это может быть сеанс, но в некоторых случаях его можно извлечь из базы данных. Я просто не хочу жестко кодировать в DependencyInjection, чтобы этот параметр передавался из сессии.

Я также знаю, что могу передать параметр из конфигурации приложения, но есть ли способ изменить его после некоторого действия в приложении?

1 Ответ

5 голосов
/ 01 декабря 2011

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

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