slash-dw/error-kit

SlashDw structured domain error contracts and reporting hooks for Laravel

Maintainers

Package info

github.com/slash-dw/error-kit

pkg:composer/slash-dw/error-kit

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.0.1 2026-04-28 17:09 UTC

This package is auto-updated.

Last update: 2026-04-28 17:14:50 UTC


README

A Laravel package for structured domain errors.

Requirements

  • PHP ^8.5
  • Laravel ^13.0

Exact Laravel component constraints are defined in composer.json.

What This Package Provides

  • Structured domain exception contract and base class
  • Report behavior enum
  • Code composer (segment pack/unpack)
  • In-memory error code registry
  • Exception reporting policy contract and default implementation

Quick Usage

use SlashDw\ErrorKit\Domain\AbstractStructuredDomainException;
use SlashDw\ErrorKit\Enums\ReportBehavior;

final class OrderCannotBeCancelled extends AbstractStructuredDomainException
{
    public function errorCode(): int { return 1001001; }
    public function errorSlug(): string { return 'order.cannot_cancel'; }
    public function developerMessage(): string { return 'Order already shipped.'; }
    public function userMessageKey(): string { return 'orders.cannot_cancel'; }
    public function reportBehavior(): ReportBehavior { return ReportBehavior::Warning; }
}

Test Status

  • PHPUnit: 24 tests / 40 assertions
  • PHPStan: clean
  • Pint: passed

Dev Commands

composer install
./vendor/bin/phpunit -c phpunit.xml.dist
./vendor/bin/phpstan analyse -c phpstan.neon.dist --memory-limit=1G
./vendor/bin/pint --format agent