Erros de PHP para crianças legais
whoops é uma estrutura de tratamento de erros para PHP. Pronto para uso, ele fornece uma interface de erro bonita que ajuda a depurar seus projetos da web, mas no fundo é um sistema simples, mas poderoso, de tratamento de erros empilhados.
Se você usa Laravel 4, Laravel 5.5+ ou Mezzio, você já tem o Whoops. Há também instruções fornecidas pela comunidade sobre como integrar o Whoops no Silex 1, Silex 2, Phalcon, Laravel 3, Laravel 5, CakePHP 3, CakePHP 4, Zend 2, Zend 3, Yii 1, FuelPHP, Slim, Pimple, Laminas, ou qualquer estrutura que consuma middlewares StackPHP ou PSR-7.
Se você não estiver usando nenhuma dessas estruturas, aqui está uma maneira muito simples de instalar:
Use o Composer para instalar o Whoops em seu projeto:
composer require filp/whoops
Registre o manipulador bonito em seu código:
$ whoops = new Whoops Run ;
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ whoops -> register ();
Para mais opções, dê uma olhada nos arquivos de exemplo em examples/
para ter uma ideia de como as coisas funcionam. Dê também uma olhada na documentação da API e na lista de manipuladores disponíveis abaixo.
Você também pode substituir algumas chamadas do sistema que o Whoops faz. Para fazer isso, estenda WhoopsUtilSystemFacade
, substitua as funções desejadas e passe-as como argumento para o construtor Run
.
Você também pode coletar o HTML gerado para processá-lo você mesmo:
$ whoops = new Whoops Run ;
$ whoops -> allowQuit ( false );
$ whoops -> writeToOutput ( false );
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ html = $ whoops -> handleException ( $ e );
whoops atualmente vem com os seguintes manipuladores integrados, disponíveis no namespace WhoopsHandler
:
PrettyPageHandler
- Mostra uma página de erro bonita quando algo dá erradoPlainTextHandler
- Gera mensagem de texto simples para uso em aplicativos CLICallbackHandler
- envolve um encerramento ou outro chamável como manipulador. Você não precisa usar esse manipulador explicitamente, o whoops irá agrupar automaticamente qualquer encerramento ou chamada que você passar para WhoopsRun::pushHandler
JsonResponseHandler
– captura exceções e retorna informações sobre elas como uma string JSON. Pode ser usado, por exemplo, para funcionar bem com solicitações AJAX.XmlResponseHandler
– Captura exceções e retorna informações sobre elas como uma string XML. Pode ser usado, por exemplo, para funcionar bem com solicitações AJAX.Você também pode usar manipuladores conectáveis, como o manipulador SOAP.
Esta biblioteca foi desenvolvida principalmente por Filipe Dobreira e é atualmente mantida por Denis Sokolov. Muitas correções e melhorias incríveis também foram enviadas por vários contribuidores. Agradecimentos especiais a Graham Campbell e Markus Staab pela participação contínua.