【问题标题】:Laravel 5.2 + WhoopsLaravel 5.2 + 哎呀
【发布时间】:2016-01-21 10:25:07
【问题描述】:

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

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

有什么建议吗?

【问题讨论】:

  • 究竟是什么不起作用?无法通过 composer 安装,出错还是什么都不做?
  • @AmirBar 我正在使用它,但它也做了很多我不想要或不需要的其他东西(即异常处理程序)。我只想大声疾呼。
  • @MarkDavidson 以前我用过这个:mattstauffer.co/blog/bringing-whoops-back-to-laravel-5 但这不适用于 laravel 5.2
  • @Mattias 所以看看源代码,看看你做错了什么......因为这个包在 laravel 5.2 中使用了 whoops..

标签: php laravel laravel-5.2 whoops


【解决方案1】:

只需将此方法添加到您的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);
}

【讨论】:

    【解决方案2】:

    Whoops 2.1 已于 4 天前部署。我刚刚尝试使用 Laravel 5.2,它工作得很好。

    我刚刚按照 Matt Stauffer 的教程进行操作。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 2012-08-01
      • 2019-02-13
      • 2011-04-13
      相关资源
      最近更新 更多