Доступ к Doctrine во время инициализации пакета

У меня есть пакет Symfony2, который я хочу использовать в таблице базы данных, в которой хранятся параметры конфигурации ключевых значений. Я хочу иметь возможность загружать запрос и кэшировать его в течение длительного времени, а также иметь возможность вводить параметры конфигурации в сервисный контейнер symfony2.

Прямо сейчас я внедряю службу, которая загружает конфигурацию из доктрины и вызывает метод get($key) для получения значения для нужного ключа.

Я в основном хочу, чтобы эти параметры конфигурации были доступны из пакета параметров контейнера службы symfony2.

Может быть, есть событие, с которым я мог бы связать, или какой-то проход компилятора, который я могу использовать с моим пакетом для достижения этого?


person Ghassan Idriss    schedule 19.03.2013    source источник


Ответы (1)


Я сделаю что-то подобное в вашем сервисном слушателе

public function onLateKernelRequest(GetResponseEvent $event)
{
    $request = $event->getRequest();
    $mydata= $this->manager->getRepository('YourBundle:YourTable')->getAll();

    $parameters['mydata'] = $mydata;
    $request->attributes->add($parameters);


}

В вашем контроллере вы можете получить свои параметры:

$this->container->get('request')->attributes->get('mydata');
person Clotaire    schedule 20.03.2013