2 заметки с тегом

Программирование

Laravel 5. Возвращение whoops

В laravel 4 был замечательный обработчик ошибок под названием «whoops», из пятой версии данный обработчик был удалён на менее информативный. Исправить это не составит труда. Но будьте осторожны, никогда не используйте его на продакшене, т. к. это покажет ваши пароли от базы данных, и много чего ещё «полезного».

Без обработчика whoops

whoops




Добавить его очень просто:
Сначала необходимо с помощью composer добавить в зависимости и загрузить whoops

composer require filp/whoops:~1.0.

Привести функцию render в файле

app/Exceptions/Handler.php

вот к такому виду

public function render($request, Exception $e)
    {
        if ($this->isHttpException($e))
        {
            return $this->renderHttpException($e);
        }


        if (config('app.debug'))
        {
            return $this->renderExceptionWithWhoops($e);
        }

        return parent::render($request, $e);
    }

И написать функцию которую мы вызываем в 11 строчке ф-ии render

/**
     * Render an exception using Whoops.
     * 
     * @param  \Exception $e
     * @return \Illuminate\Http\Response
     */
    protected function renderExceptionWithWhoops(Exception $e)
    {
        $whoops = new \Whoops\Run;
        $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler());

        return new \Illuminate\Http\Response(
            $whoops->handleException($e),
            $e->getStatusCode(),
            $e->getHeaders()
        );

Готово. Как видно из кода (config(’app.debug’)), whoops будет отображаться только когда в env включен debug

2015   framework   laravel   PHP   whoops   Программирование