GitHub

php-exceptions-laravel

php-exceptions-laravel

Wrapper Laravel pour la bibliothèque PHP-Exception, assurant la gestion des erreurs de Laravel et fournissant un rendu pour ces exceptions.

Exceptions PHP avec Laravel

Câblage Laravel et rendus JSON/Web pour l'arbre d'exceptions de domaine hradigital/php-exceptions .

La bibliothèque de base fournit des exceptions indépendantes de la plateforme ( AbstractBaseException et les arbres Client/ et Server/ , alignés sur la sémantique HTTP 4xx/5xx) et ne connaît rien du transport, laissant à chaque application le soin de décider comment une exception de domaine levée devient une réponse.

Ce package tranche une seule fois. Les requêtes API reçoivent un corps JSON uniforme ; les requêtes web renvoyant une erreur 422 redirigent vers le formulaire d'origine avec les erreurs et les anciennes données saisies ; toute autre exception de package est traitée sur le web avec le statut HTTP qu'elle déclare. Une exception dont le code d'état est différent de AbstractBaseException est transmise au gestionnaire de Laravel sans être modifiée.

  • ExceptionRenderer - le répartiteur de stratégie JSON, résolvant une exception à la première stratégie qui la prend en charge, avec un repli toujours correspondant.
  • WebRenderer - le répartiteur de stratégie Web, résolvant une exception à la première stratégie qui la prend en charge, avec un repli toujours correspondant.
  • ExceptionsServiceProvider - découverte automatique, liaison des deux répartiteurs en tant que singletons et enregistrement de deux renderable() hooks sur le gestionnaire d'exceptions de Laravel.
  • Détection d'API - une règle commune aux deux hooks : l'en-tête Accept , un corps JSON, un chemin api/* ou un nom de route api.* .
  • Stratégies groupées - DefaultRenderer et InputFailureRenderer pour JSON, InputFailureWebRenderer , UnprocessableEntityWebRenderer et DefaultWebRenderer pour le Web.
  • Stratégies personnalisées : résolvez l’instance unique et ajoutez la vôtre ; la dernière inscription l’emporte.
  • PHP
  • Laravel
  • JavaScript
  • Exceptions
  • Exceptions-and-error-handling
  • Exceptions-handling
  • Laravel-framework
  • Laravel-package
  • Makefile
  • Shell

Voir le projet