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 UnprocessableEntityHttpException
s 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.