Как получить доступ к путям и конфигурации вне контроллера в Symfony 2? - PullRequest
0 голосов
/ 16 ноября 2011

У меня проблема с невозможностью доступа к информации о конфигурации и пути вне контекста контроллера.Я нахожусь в классе Assetic Filter, у которого нет методов, чтобы помочь мне, и мне нужно знать путь к ядру вместе с некоторыми настройками.Как мне сделать вызов Symfony 1 sfContext::getInstance() в Symfony 2?

Ответы [ 2 ]

2 голосов
/ 16 ноября 2011

Если вы пишете сборочный фильтр, вы пишете сервис.В определении сервиса вы можете передать параметры из DIC.Например, вы можете передать запись абсолютного пути AppKernel:

<argument>%kernel.root_dir%</argument>

Если вы хотите иметь семантическую конфигурацию для вашего фильтра (и для любой службы в целом), он будет находиться в расширении DIC.По умолчанию «MyNamespaceMyBundle» регистрирует класс расширения «MyNamespaceMyExtension» внутри подпакета DependencyInjection, и это расширение будет обрабатывать конфигурацию из ключа конфигурации верхнего уровня «my_namespace_my», создавая службы или устанавливая параметры DIC.

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

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

Ты не. Вы должны использовать инъекцию зависимости как-то. См. здесь , почему он мог быть удален.

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