Как я могу динамически установить параметр в Symfony2?

Я пытаюсь динамически установить параметр в Symfony2 (который я не могу установить статически в моемparameters.yml файл). Мой подход заключается в использованииEventListener:

namespace Acme\AcmeBundle\EventListener;

use Symfony\Component\DependencyInjection\Container;

class AcmeListener
{
    private $container;

    public function __construct(Container $container)
    {
        $this->container = $container;
    }

    public function onKernelRequest()
    {
        // Dynamically fetch $bar
        $bar = fetch('foobar');

        // Set parameter
        $this->container->setParameter('foo', $bar);
    }
}

И мое определение сервиса вconfig.yml выглядит так:

service:
    kernel.listener.acme_listener:
        class: Acme\AcmeBundle\EventListener\AcmeListener
        tags:
            - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
        arguments: [ '@service_container' ]

Проблема в том, что я получаю исключение:

LogicException: невозможно вызвать set () для замороженного ParameterBag.

Как можно обойти это исключение или вы видите другой способ динамической установки параметра?

Ответы на вопрос(3)

Ваш ответ на вопрос