基于18022890这是我的代码。
/* Register service provider */
// ...
$app->register(new TwigServiceProvider(), array(...));
$app->boot();
$app->register(new SecurityServiceProvider(), array(...));
/* Route collection */
// ....
/* Not found exception */
$app->error(function (\Exception $e, $code) use ($app) {
if ($app['debug']) return;
$templates = array(
'error/'.$code.'.twig',
'error/'.substr($code, 0, 2).'x.twig',
'error/'.substr($code, 0, 1).'xx.twig',
'error/default.twig',
);
return new Response($app['twig']->resolveTemplate($templates)->render(array('code' => $code)), $code);
});
仅供参考:我从here收集了路线。
一切似乎都没问题,除了 http://silex.local/undefinedroute 不会显示我的404错误模板。如何处理这种情况?感谢。
答案 0 :(得分:1)
我更改了注册顺序(安全之前 Twig)而没有$app->boot()
,然后显示了我的404错误模板。
/* Register service provider */
// ...
$app->register(new SecurityServiceProvider(), array(...));
$app->register(new TwigServiceProvider(), array(...));