GitHub

php-exceptions-laravel

php-exceptions-laravel

Wrapper do Laravel para a biblioteca PHP-Exception, que integra o tratamento de erros do Laravel e fornece um componente Rendered para estas exceções.

php-exceções-laravel

Configuração do Laravel e renderizadores JSON/web para a árvore de exceções de domínio hradigital/php-exceptions .

A biblioteca base fornece exceções independentes de plataforma - AbstractBaseException e as árvores Client/ e Server/ , alinhadas com a semântica HTTP 4xx/5xx - e não sabe nada sobre o transporte, deixando para cada aplicação a decisão de como uma exceção de domínio lançada se torna uma resposta.

Este pacote decide isso uma única vez. Os pedidos à API recebem um corpo JSON uniforme; os pedidos web que devolvem um código 422 são redirecionados para o formulário original com erros e os dados introduzidos anteriormente; todas as outras exceções do pacote são tratadas na web com o estado HTTP declarado. Uma exceção que não estende o código AbstractBaseException é encaminhada para o gestor de exceções do Laravel, sem ser alterada.

  • ExceptionRenderer - o despachante de estratégia JSON, que resolve uma exceção para a primeira estratégia que a suporta, com uma alternativa sempre correspondente.
  • WebRenderer - o web strategy despachante, que resolve uma exceção para a primeira estratégia que a suporta, com uma alternativa sempre correspondente.
  • ExceptionsServiceProvider - Descoberto automaticamente, ligando ambos os dispatchers como singletons e registando dois hooks renderable() no gestor de exceções do Laravel.
  • Detecção de API - uma regra comum a ambos os hooks: o cabeçalho Accept , um corpo JSON, um caminho api/* ou um nome de rota api.* .
  • Estratégias agrupadas - DefaultRenderer e InputFailureRenderer para JSON, InputFailureWebRenderer , UnprocessableEntityWebRenderer e DefaultWebRenderer para a web.
  • Estratégias personalizadas - resolva o problema singleton e adicione a sua própria estratégia; o último registo é o que prevalece.
  • PHP
  • Laravel
  • JavaScript
  • Exceptions
  • Exceptions-and-error-handling
  • Exceptions-handling
  • Laravel-framework
  • Laravel-package
  • Makefile
  • Shell

Visitar projeto