Задать вопрос
@1alexandr

Как изменить параметр в Symfony2?

Здравствуйте! Подскажите, пожалуйста, как я могу засеттить параметр прописанный в yaml конфиге
parameters:
    app_main.city: Анадырь

Я пробую:
$this->container->setParameter('app_main.city', 'Канчалан')

но мне выдает ошибку следующего содержания:
Impossible to call set() on a frozen ParameterBag.
Подскажите, что не так, пожалуйста!
  • Вопрос задан
  • 568 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
lexxpavlov
@lexxpavlov
Программист, преподаватель
А где вы пытаетесь установить параметр? и нужно устанавливать в конфигураторе бандла - в классе DependencyInjection\YourBundleExtension. После этого контейнер замораживается, и его изменить нельзя. Если вам это нужно - значит, вы что-то неправильно делаете в архитектуре.
Если вам нужно изменить параметр на уровне разработки - ставьте нужное значение в parameters.yml (замените Анадырь на Канчалан). А если нужное значение определяется в коде, то его не нужно устанавливать в параметр контейнера, его нужно передавать через аргументы метода сервиса.

Расскажите подробнее, что у вас за задача, чтобы можно было подробнее подсказать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы