Instalação
Artigos
Cursos
Loja
INSTALAÇÃO
ARTIGOS
CURSOS
EBOOKS
DOWNLOADS
LOJA
ARTIGOS
Whoops
Apresentando erros em PHP de uma maneira bonita
Fonte: [https://github.com/filp/whoops](https://github.com/filp/whoops) Documentação: [https://github.com/filp/whoops/tree/master/docs](https://github.com/filp/whoops/tree/master/docs)
## Introdução `Whoops` é um framework `PHP` usado para manipular e tratar errros. O `whoops` vem pronto para uso, e conta com uma interface bonita e direta que ajuda a depurar erros em seus projetos. O `Whoops` conta com um código-fonte bem estruturado, limpo e testado que simplifica a tarefa de integração com bibliotecas existentes. --- ## Instalação O `Whoops` já acompanha a instalação do Laravel 4 ou 5.5+. Para demais projetos você pode optar pela instalação manual usando o `composer`. O composer é um gerenciador de dependências para projetos `PHP`, para mais informações acesse: http://getcomposer.org/. Com o composer instalado basta acessar o projeto em questão e executar o seguinte comando no terminal: ```bash $ composer require filp/whoops ``` Aguarde a instalação acaber e você já terá o `Whoops` pronto para o uso em seu projeto. --- ## Manipuladores O `Whoops` é disponibilizado atualmente com cinco classes responsáveis por manipular os erros, são elas: - `PrettyPageHandler`: Exibe uma página `HTML` com detalhamento completo do erro. - `PlainTextHandler`: Exibe uma mensagem em texto puro usado em aplicações `CLI`. - `CallbackHandler`: Envia o retorno do erro para uma função determinada. - `JsonResponseHandler`: Retorna as exceções em formato `JSON`, normalmente usado com requisições `AJAX`. - `XmlResponseHandler`: Retorna as exceções em formato `XML`. ### Diferença entre manipuladores Abaixo a demonstração da diferença do retorno do mesmo erro, primeiro usando o manipulador `PlainTextHandler` depois com o `PrettyPageHandler`. O erro no código fonte é o uso de uma variável inexistente: ```php () /var/www/html/whoops/whoops.php:11 2. Whoops\Run->handleError() /var/www/html/whoops/whoops.php:11 ``` Com `PrettyPageHandler`: ![enter image description here](resources/posts/whoops/whoops.png) Com essa demonstração podemos ver quais são as reais capacidades e quando uma ferramenta como o `Whoops`, ela pode acelerar muito o desenvolvimento de uma aplicação. ---
## Primeiro código com `Whoops` O uso do `Whoops` não poderia ser mais simples e direto, para habilitar essa opção em seu código-fonte basta registrar o manipulador e pronto. ```php prependHandler(new \Whoops\Handler\PrettyPageHandler); $whoops->register(); // Cusar um erro echo $a; ``` Para mais exemplos de como usar o `Whoops` você pode acessar o diretório de exemplos na página do projeto em: [https://github.com/filp/whoops/tree/master/examples](https://github.com/filp/whoops/tree/master/examples). ## Abrir arquivos no seu editor É possível configurar o `Whoops` para que seja criado um link do erro diretamente para o arquivo na sua IDE preferida. Para habilitar essa função você precisa chamar a seguinte função: ``` $handler->setEditor("vscode"); ``` Abaixo você confere um exemplo completo configurando o Visual Studio Code como IDE padrão. ```php setEditor("vscode"); $whoops = new \Whoops\Run; $whoops->prependHandler($handler); $whoops->register(); echo $a; ``` O `Whoops` conta com as seguintes IDEs prontas para o uso: - `emacs` - Emacs - `idea` - IDEA - `macvim` - MacVim - `phpstorm` - PhpStorm - `sublime` - Sublime Text - `textmate` - Textmate - `xdebug` - xdebug - `vscode` - VSCode - `atom` - Atom - `espresso` - Espresso Se o seu editor não estiver contemplado na lista acima você pode tentar configurar ele manualmente da seguinte maneira: ```php $handler->setEditor(function($file, $line) { return "whatever://open?file=$file&line=$line"; }); ```
COMENTE SOBRE