Ошибки PHP для крутых ребят
whoops — это платформа обработки ошибок для PHP. «Из коробки» он предоставляет красивый интерфейс ошибок, который помогает вам отлаживать ваши веб-проекты, но по сути это простая, но мощная многоуровневая система обработки ошибок.
Если вы используете Laravel 4, Laravel 5.5+ или Mezzio, у вас уже есть Whoops. Сообщество также предоставляет инструкции по интеграции Whoops в Silex 1, Silex 2, Phalcon, Laravel 3, Laravel 5, CakePHP 3, CakePHP 4, Zend 2, Zend 3, Yii 1, FuelPHP, Slim, Pimple, Laminas, или любую платформу, использующую промежуточное программное обеспечение StackPHP или промежуточное программное обеспечение PSR-7.
Если вы не используете ни одну из этих платформ, вот очень простой способ установки:
Используйте Composer для установки Whoops в ваш проект:
composer require filp/whoopsЗарегистрируйте симпатичный обработчик в своем коде:
$ whoops = new Whoops Run ;
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ whoops -> register (); Дополнительные параметры можно найти в файлах примеров в examples/ чтобы понять, как все работает. Также ознакомьтесь с документацией по API и списком доступных обработчиков ниже.
Вы также можете переопределить некоторые системные вызовы, которые выполняет Whoops. Для этого расширьте WhoopsUtilSystemFacade , переопределите нужные функции и передайте их в качестве аргумента конструктору Run .
Вы также можете собрать сгенерированный HTML-код и обработать его самостоятельно:
$ whoops = new Whoops Run ;
$ whoops -> allowQuit ( false );
$ whoops -> writeToOutput ( false );
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ html = $ whoops -> handleException ( $ e ); Whoops в настоящее время поставляется со следующими встроенными обработчиками, доступными в пространстве имен WhoopsHandler :
PrettyPageHandler — показывает красивую страницу с ошибкой, когда что-то идет не так.PlainTextHandler — выводит текстовое сообщение для использования в приложениях CLI.CallbackHandler — оборачивает замыкание или другой вызываемый объект в качестве обработчика. Вам не нужно явно использовать этот обработчик, whoops автоматически перенесет любое замыкание или вызываемый объект, который вы передаете в WhoopsRun::pushHandlerJsonResponseHandler — перехватывает исключения и возвращает информацию о них в виде строки JSON. Может использоваться, например, для корректной работы с запросами AJAX.XmlResponseHandler — перехватывает исключения и возвращает информацию о них в виде строки XML. Может использоваться, например, для корректной работы с запросами AJAX.Вы также можете использовать подключаемые обработчики, например обработчик SOAP.
Эта библиотека была в первую очередь разработана Филипе Добрейрой и в настоящее время поддерживается Денисом Соколовым. Различные участники также прислали множество замечательных исправлений и улучшений. Особая благодарность Грэму Кэмпбеллу и Маркусу Стаабу за постоянное участие.