GitHub

php-exceptions-laravel

php-exceptions-laravel

Laravel-Wrapper für die PHP-Exception-Bibliothek, der die Fehlerbehandlung von Laravel integriert und ein Rendered-Objekt für diese Ausnahmen bereitstellt.

php-exceptions-laravel

Laravel-Verkabelung und JSON-/Web-Renderer für den Ausnahmebaum der Domäne hradigital/php-exceptions .

Die Basisbibliothek liefert plattformunabhängige Ausnahmen – AbstractBaseException sowie die Bäume Client/ und Server/ , die auf die HTTP 4xx/5xx-Semantik abgestimmt sind – und weiß nichts über ein Transportprotokoll, sodass jede Anwendung aufs Neue entscheiden muss, wie eine ausgelöste Domänenausnahme zu einer Antwort wird.

Dieses Paket legt dies einmalig fest. API-Anfragen erhalten einen einheitlichen JSON-Body; Webanfragen, die einen 422-Fehler zurückgeben, werden mit Fehlern und den alten Eingaben an das Ursprungsformular zurückgesendet; jede andere Paketausnahme wird im Web mit dem entsprechenden HTTP-Statuscode beantwortet. Eine Ausnahme, deren Wert nicht AbstractBaseException ist, wird unverändert an den Laravel-eigenen Fehlerbehandler weitergeleitet.

  • ExceptionRenderer - der JSON-Strategie-Dispatcher, der eine Ausnahme auf die erste Strategie auflöst, die sie unterstützt, mit einem immer passenden Fallback.
  • WebRenderer - der Webstrategie-Dispatcher, der eine Ausnahme von der ersten Strategie, die diese unterstützt, auflöst, mit einem immer passenden Fallback.
  • ExceptionsServiceProvider - automatisch erkannt, beide Dispatcher als Singletons gebunden und zwei renderable() Hooks im Ausnahmebehandler von Laravel registriert.
  • API-Erkennung - eine gemeinsame Regel für beide Hooks: der Accept Header, ein JSON-Body, ein api/* Pfad oder ein api.* Routenname.
  • Gebündelte Strategien - DefaultRenderer und InputFailureRenderer für JSON, InputFailureWebRenderer , UnprocessableEntityWebRenderer und DefaultWebRenderer für das Web.
  • Benutzerdefinierte Strategien – lösen Sie das Singleton auf und fügen Sie Ihre eigene hinzu; die letzte Registrierung gewinnt.
  • PHP
  • Laravel
  • JavaScript
  • Exceptions
  • Exceptions-and-error-handling
  • Exceptions-handling
  • Laravel-framework
  • Laravel-package
  • Makefile
  • Shell

Projekt besuchen