Laravel 5.2 +哎呀

时间:2016-01-21 10:25:07

标签: php laravel laravel-5.2 whoops

我以前在5.1和5.0中有过Whoops;但是从5.2开始我之前使用的实现不再有效。

我一直无法找到按原样实施Whoops 2.0到Laravel 5.2的方法。

有什么建议吗?

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:1)

4天前部署了Whoops 2.1。我只是尝试使用Laravel 5.2,它运行得很好。

我只是按照Matt Stauffer的教程。

https://mattstauffer.co/blog/bringing-whoops-back-to-laravel-5