У меня ранее были Whoops в 5.1 и 5.0; но начиная с версии 5.2 реализация, которую я использовал ранее, больше не работает.
Мне не удалось найти способ реализовать Whoops 2.0 в Laravel 5.2 как есть.
Какие-либо предложения?
Просто добавьте этот метод к вашему 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);
}
Whoops 2.1 был развернут 4 дня назад. Я только что попробовал с Laravel 5.2, и он работал просто отлично.
Я только следовал за обучением Мэтта Штауффера.
https://mattstauffer.co/blog/bringing-whoops-back-to-laravel-5