Laravel 4仅在生产中显示自定义错误页面

时间:2013-11-25 20:35:51

标签: 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', 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 ::错误处理程序,我将始终获取这些自定义页面而不是详细信息

我是对的吗?

1 个答案:

答案 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);
    }
});