2016-01-21 117 views
1

我以前曾经在5.1和5.0中有过Whoops;但从5.2开始,我以前使用的实现不再有效。Laravel 5.2 +哎呦

我一直无法找到一种方法来实现Laravel 5.2的Whoops 2.0。

有什么建议吗?

+0

究竟什么是行不通的?无法通过作曲家安装,错误或什么都不做? –

+0

https://github.com/GrahamCampbell/Laravel-Exceptions支持laravel 5.2 –

+0

@AmirBar我使用它,但它也做了很多其他的东西(即exceptionshandler),我不想或不需要。我只想要哎呀。 – FooBar

回答

4

只需将此方法添加到app/Exceptions/Handler.php文件中,它将覆盖将生成Symfony错误响应的现有方法。如果应用程序处于配置模式,它将返回Whoops响应。如果您构建某种API,则可以改为使用JsonResponseHandler而不是PrettyPageHandler,这将为您提供良好的JSON响应以应对异常。

/** 
* Create a Symfony response for the given exception. 
* 
* @param \Exception $e 
* @return mixed 
*/ 
protected function convertExceptionToResponse(Exception $e) 
{ 
    if (config('app.debug')) { 
     $whoops = new \Whoops\Run; 
     $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler); 

     return response()->make(
      $whoops->handleException($e), 
      method_exists($e, 'getStatusCode') ? $e->getStatusCode() : 500, 
      method_exists($e, 'getHeaders') ? $e->getHeaders() : [] 
     ); 
    } 

    return parent::convertExceptionToResponse($e); 
}