Laravel 4 Laravel 4仅在生产环境中显示自定义错误页面
我是否理解正确:如果我想显示403、404等错误的自定义页面,我应该检查app.debug是否设置为false:Laravel 4 Laravel 4仅在生产环境中显示自定义错误页面,laravel-4,Laravel 4,我是否理解正确:如果我想显示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', ar
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::error handler,我将始终获得这些自定义页面,而不是详细信息
我说的对吗?您可以将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);
}
});
我的第一个想法是使用,但我可能错了。你想说使用App::environment()而不是App.debug变量来检查吗?我刚刚阅读了有关环境的内容,这很神奇,我可以在我的生产环境中自动重写app.debug变量。如果(!app::environment('local'){}或任何您开发环境的调用,您也可以使用
。通常我创建名为isProduction()的简单函数作为app:environment('production')的快捷方式为了使事情更简单。修复语法错误,请删除return语句中的其他“')。