Download the PHP package phuoc/laravel-exception without Composer
On this page you can find all versions of the php package phuoc/laravel-exception. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download phuoc/laravel-exception
More information about phuoc/laravel-exception
Files in phuoc/laravel-exception
Package laravel-exception
Short Description A small package to help handle custom exception from laravel 5.5
License MIT
Informations about the package laravel-exception
Laravel 5.5 custom exception
Introduction
This is a Laravel exception handler build specifically for APIs.
Get idea from Heimdal
Why is it needed?
When building APIs there are specific formatting do's and dont's on how to send errors back to the user. Frameworks like Laravel are not build specifically for API builders. This small library just bridges that gap. For instance, specifications like JSON API have guidelines for how errors should be formatted.
Installation
Add the service provider to config/app.php if you've disabled package auto-discovery feature
Publish the configuration.
Change App\Exceptions\Handler's extends class
Clear cache if it need to
Autoload
Configuration
Exceptions
This package already comes with sensible custom exceptions out of the box. In config/exception.php is a section where
the exception priority is defined.
The higher the entry, the higher the priority. In this example, a AuthenticationException will be formatted used the
CustomException\AuthenticationException because it is the first entry. However, an NotFoundHttpException will not match
AuthenticationException but will match Exception (since it is a child class hereof) and will therefore
be formatted using the Exception.
Write your custom exception easily
Write your custom exception class extend Phuocnt\LaravelException\Exceptions\CustomException class
You may want to define default $statusCode or render method which helps to define your custom response
Now we simply add it to config/exception.php
Now all UnprocessableEntityHttpExceptions will be formatted using our custom exception.
Usage
Write your exception as usual
Override $statusCode if needed else it will be get in order: this exception class > your custom exception format > default laravel status code for this exception > 500
You can also override render method here, too
Default exception's format
Production
In production, you may want to turn APP_DEBUG=false in .env.
Almost common errors will have response below with appropriate status code
Dev
Validation error
Status code: 422
Common errors
License
The MIT License (MIT). Please see License File for more information.