在Bundle初始化期间访问Doctrine

时间:2013-03-19 21:30:19

标签: symfony doctrine-orm symfony-2.2

我有一个Symfony2包,我想使用数据库表来存储键值配置参数。我希望能够加载查询并将其缓存很长时间,并能够将配置参数注入symfony2服务容器。

现在我正在注入一个从doctrine加载配置的服务,并调用get($ key)方法来检索我想要的键的值。

我基本上希望这些配置选项可以从symfony2服务容器参数包中获得。

是否可能有一个我可以绑定的事件或某种编译器传递,我可以使用我的捆绑来实现这个目的?

1 个答案:

答案 0 :(得分:2)

我会在你的服务监听器中做类似的事情

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');