treblle/error-codes

A package to help you provide consistent error codes.

0.0.1 2023-08-25 10:16 UTC

This package is auto-updated.

Last update: 2024-10-13 15:34:15 UTC


README

API Error Codes

Latest Version PHP Version tests Total Downloads

Integrations   •   Website   •   Docs   •   Blog   •   Twitter   •   Discord

A package to help you provide consistent error codes.

Installation

composer require treblle/error-codes

Usage

This package is easy to use, you can determine what Error Code you need. Then access the attributes attached to it.

use Treblle\ErrorCodes\Enums\ErrorCode;

$badRequest = ErrorCode::BAD_REQUEST;

$title = $badRequest->getDescription()->title; // Bad Request
$code = $badRequest->getDescription()->code; // HTTP_400
$link = $badRequest->getDescription()->link; // https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
$status = $badRequest->getDescription()->status; // 400

Combining

This package works very well with the treblle/api-responses package.

final class Handler extends ExceptionHandler
{
    public function register(): void
    {
        $this->renderable(function (ModelNotFoundException $exception, Request $request) {
            $errorCode = \Treblle\ErrorCodes\Enums\ErrorCode::NOT_FOUND;
            
            return new ErrorResponse(
                data: new ApiError(
                    title: $errorCode->getDescription()->title,
                    detail: $exception->getMessage(),
                    instance: $request->path(),
                    code: $errorCode->getDescription()->code,
                    link: $errorCode->getDescription()->link,
                ),
                status: Status::NOT_FOUND,
            );
        });
    }
}

Community 💙

First and foremost: Star and watch this repository to stay up-to-date.

Also, follow our Blog, and on Twitter.

You can chat with the team and other members on Discord and follow our tutorials and other video material at YouTube.

Treblle Discord

Treblle YouTube

Treblle on Twitter

How to contribute

Here are some ways of contributing to making Treblle better:

  • Try out Treblle, and let us know ways to make Treblle better for you. Let us know here on Discord.
  • Join our Discord and connect with other members to share and learn from.
  • Send a pull request to any of our open source repositories on Github. Check the contribution guide on the repo you want to contribute to for more details about how to contribute. We're looking forward to your contribution!

Testing

To run the test suite:

composer run test

Credits

A table of avatars from the project's contributors

LICENSE

The MIT LIcense (MIT). Please see License File for more information.