2017-07-17 8 views
-1

私は、Silexでエラーハンドラにtwigテンプレートをレンダリングさせる方法を理解しようとしています。私が書いたもの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 new Response($app['twig']->render('error.twig')); 
}); 

私は方法を経てマニュアルを見つけることができませんでした:私が試したaslo

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

これは、彼らがドキュメントに提供するものです私はSilexとそのエラー処理で働いていた可能性があります。

答えて

1

変数appは閉鎖の内部ではわかりません。closureuseに伝える必要があります。これでtwigにアクセスし、テンプレートをレンダリングできます。

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