我理解正确:如果我想显示403,404等错误的自定义页面,我应该检查app.debug是否设置为false:
if (!Config::get('app.debug')) {
App::error(function(Exception $exception, $code)
{
switch ($code) {
case 403:
return Response::view('errors.403', array(), 403);
case 404:
return Response::view('errors.404', array(), 404);
case 500:
return Response::view('errors.500', array(), 500);
default:
return Response::view('errors.default', array(), $code);
}
Log::error($exception);
});
}
因为,如果我在不检查app.debug的情况下设置App ::错误处理程序,我将始终获取这些自定义页面而不是详细信息
我是对的吗?
答案 0 :(得分:10)
您可以将if语句移动到app :: error函数中。因此始终记录错误,并且仅在app.debug为false时显示自定义错误页面。
App::error(function(Exception $exception, $code)
{
Log::error($exception);
if (!Config::get('app.debug')) {
return Response::view('errors.index', $code);
}
});