如何在 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);
}
}
你能帮我解决这个问题吗?
最佳答案
您可以像下面这样注入(inject) EngineInterface;
use Twig\Environment;
public $_engine;
public function __construct(\Swift_Mailer $mailer, Environment $engine)
{
$this->mailer= $mailer;
$this->_engine = $engine;
}
this->mailer->send( (new \Swift_Message('something happened'))
->setFrom('test@test.com')
->setTo('user@user.com')
->setBody($this->_engine->render('mails/test.html.twig',[
])
);
关于symfony - 如何在 EventListener 中呈现模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874521/