2014-04-30 44 views
-1

后,当我试图在Laravel 4使用app::abort($code),出现以下错误:错误异常处理程序后::中止()的应用程序过滤器

错误异常处理程序:在... \供应商\ laravel \框架的\ src \照亮\基金会\ Application.php:875

该应用程序后::过滤器简单地调用app::abort(401)

App::after(function($request, $response) 
{ 
    app::abort(401); 
}); 

这又放在这里:

App::error(function(Exception $exception, $code) 
{ 
    if($code === 403) 
    { 
     return Error::forbidden(); 
    } 

    elseif($code === 401) 
    { 
     return Error::unauthorized(); 
    } 

    Log::error($exception); 
}); 

打电话给我的错误类

class Error 
{ 
    public static function notFound() 
    { 
     return static::dispatch('/errors/not-found'); 
    } 

    public static function forbidden() 
    { 
     return static::dispatch('/errors/forbidden'); 
    } 

    public static function unauthorized() 
    { 
     return static::dispatch('/errors/unauthorized'); 
    } 

    private static function dispatch($url) 
    { 
     return Route::dispatch(Request::create($url))->getContent(); 
    } 
} 

与路线,简单地调用控制器,只设置一个标题和版面上的内容。

这一切都很顺利,直到请求完成。

laravel论坛上的一篇文章指出了数据库错误。我非常怀疑这一点,因为所有的错误都会导致同样的情况,并且按原样调用时,它可以正常工作。

试图用作曲家更新并没有真正做任何事情,使用工匠和作曲家倾销自动加载也没有工作。

有人碰巧知道为什么会发生此错误,并可能如何解决它?

回答

-2

要求在SO聊天,改变===后following comment后==解决了这个问题:

App::error(function(Exception $exception, $code) 
{ 
    if($code == 403) 
    { 
     return Error::forbidden(); 
    } 

    elseif($code == 401) 
    { 
     return Error::unauthorized(); 
    } 

    Log::error($exception); 
}) 
相关问题