如何在Symfony 2中的EventListener中渲染模板?
class RequestListener
{
public function __construct() { }
public function onKernelRequest(GetResponseEvent $event)
{
$request = $event->getRequest();
// Here I want to render a particular twig template
$response = new Response('Forbidden', 401);
// replacing the response...
$event->setResponse($response);
}
}
Run Code Online (Sandbox Code Playgroud)
你能帮帮我吗?
Pro*_*tic 59
当您$this->render()在Controller中调用时,它实际上只是一个快捷方式$this->container->get('templating')->renderResponse().如果@templating作为构造函数参数传递给配置文件中的EventListener,您将能够使用模板引擎执行任何操作.
作为参考,如果你想查看模板引擎的代码,命令./app/console container:debug说这templating是一个实例Symfony\Bundle\TwigBundle\TwigEngine.