在Silex中使用错误处理程序时,如何渲染树枝模板?

时间:2017-07-17 01:42:04

标签: error-handling twig silex

我试图弄清楚如何让Silex中的错误处理程序渲染一个树枝模板。这是他们在文档中提供的内容:

$app->error(function (\Exception $e, Request $request, $code) {
    return new Response('We are sorry, but something went terribly wrong.');
});

我写的是:

 $app->error(function (\Exception $e, Request $request, $code) {
  return $app['twig']->render('error.twig');
});

我也试过了:

$app->error(function (\Exception $e, Request $request, $code) {
    return new Response($app['twig']->render('error.twig'));
});

我找不到一本手册,该手册贯穿了我在Silex中可以使用的方法及其错误处理。

1 个答案:

答案 0 :(得分:1)

变量app在闭包内部是未知的,您需要告诉closure use它。这样您就可以访问twig,并且可以呈现模板。

$app->error(function (\Exception $e, Request $request, $code) use($app) {
  return $app['twig']->render('error.twig');
});