whoops README

The project's README from github.com/filp/whoops. As one markdown file: README.md.

whoops

PHP errors for cool kids

Total Downloads Latest Version Build Status on newer versions Scrutinizer Quality Score Code Coverage


Whoops!

whoops is an error handler framework for PHP. Out-of-the-box, it provides a pretty error interface that helps you debug your web projects, but at heart it's a simple yet powerful stacked error handling system.

Features

Sponsors

Blackfire.io Oblak Host

Installing

If you use Laravel 4, Laravel 5.5+, Mezzio or ZubZet 1.2+, you already have Whoops. There are also community-provided instructions on how to integrate Whoops into Silex 1, Silex 2, Phalcon, Laravel 3, Laravel 5, CakePHP 3, CakePHP 4, Zend 2, Zend 3, Yii 1, FuelPHP, Slim, Pimple, Laminas, or any framework consuming StackPHP middlewares or PSR-7 middlewares.

If you are not using any of these frameworks, here's a very simple way to install:

  1. Use Composer to install Whoops into your project:

    composer require filp/whoops
    
  2. Register the pretty handler in your code:

    $whoops = new \Whoops\Run;
    $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
    $whoops->register();
    

For more options, have a look at the example files in examples/ to get a feel for how things work. Also take a look at the API Documentation and the list of available handlers below.

You may also want to override some system calls Whoops does. To do that, extend Whoops\Util\SystemFacade, override functions that you want and pass it as the argument to the Run constructor.

You may also collect the HTML generated to process it yourself:

$whoops = new \Whoops\Run;
$whoops->allowQuit(false);
$whoops->writeToOutput(false);
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$html = $whoops->handleException($e);

Available Handlers

whoops currently ships with the following built-in handlers, available in the Whoops\Handler namespace:

You can also use pluggable handlers, such as SOAP handler.

Authors

This library was primarily developed by Filipe Dobreira, and is currently maintained by Denis Sokolov. A lot of awesome fixes and enhancements were also sent in by various contributors. Special thanks to Graham Campbell and Markus Staab for continuous participation.

whoops (filp/whoops)

Searching Database…

13.2K ·GitHub
Что это такое?whoops — это фреймворк для обработки ошибок в PHP: когда в вашем веб-проекте что-то ломается, вместо сырого стектрейса он показывает красивую страницу с ошибкой. Построен на системе стековой обработки ошибок.
Это библиотека, которую я добавляю в свой проект, или отдельная утилита?Это библиотека: она сама называет себя фреймворком для обработки ошибок, но вы устанавливаете её в свой PHP-проект и регистрируете обработчики в собственном коде — это не отдельное приложение и не сервис.
Как его запустить?Установите его через Composer и зарегистрируйте обработчик красивой страницы в своём коде. Если вы используете Laravel 4, Laravel 5.5+, Mezzio или ZubZet 1.2+, он уже встроен и ничего устанавливать не нужно.
Он потянет за собой какие-нибудь зависимости в мой проект?Нет — whoops это самостоятельная библиотека без обязательных зависимостей, к тому же она спроектирована так, чтобы её было легко расширять и интегрировать с существующими библиотеками.
А если ошибка возникла в AJAX-запросе или в CLI-скрипте?В комплекте есть обработчики для разных форматов ответа: JsonResponseHandler и XmlResponseHandler возвращают информацию об исключении в формате JSON или XML для AJAX-запросов, а PlainTextHandler выводит обычный текст для CLI-приложений.
Мне придётся самостоятельно подключать его к своему фреймворку?Не всегда: в Laravel 4, Laravel 5.5+, Mezzio и ZubZet 1.2+ он уже включён, а для Silex, Phalcon, CakePHP, Zend, Yii, Slim, Laminas и всего, что построено на StackPHP или PSR-7 middleware, есть руководства от сообщества.
Могу ли я добавить собственный обработчик ошибок?Да — обработчики складываются в стек: добавьте свою замыкающую функцию или callable, и whoops автоматически обернёт её. Также можно переопределить системные вызовы, расширив класс SystemFacade, или перехватить сгенерированный HTML, чтобы обработать его самостоятельно.
Он умеет открывать файл с ошибкой в моём редакторе?Да — одна из встроенных возможностей: открывать упомянутые файлы прямо в вашем редакторе или IDE прямо со страницы ошибки.
What are similar projects?monolog, guzzle, echo, axum, martini, Slim, jwt-auth, loguru
Creator
filp
Size
1.7 MB
Stars
13.2K
Updated
CommitOct 03
Age
13y
Commits · 90 Days