xgbnl/enum

Laravel-based Enum Component.

Installs: 21

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/xgbnl/enum

dev-main 2025-05-25 00:16 UTC

This package is auto-updated.

Last update: 2025-09-25 00:58:14 UTC


README

Install

composer require xgbnl/enum dev-main

Simple

Create enum.

php artisan make:enum TestEnum

Define your Enums

use Elephant\Enums\Attributes\Description;
use Elephant\Enums\Contacts\Descriptor;
use Elephant\Enums\Contacts\Converter;
use Elephant\Enums\Contacts\Enumerable;
use Elephant\Enums\Traits\Convert;
use Elephant\Enums\Traits\GetsAttributes;
use Elephant\Enums\Traits\HasMethods;

Enums TestEnum:string implements Enumserable,Converter,Descriptor
{
    use HasMethods,GetsAttributes,Convert;
    
    #[Description('my_foo')]
    case Foo = 'foo';

    #[Description('my_bar')]
    case Bar = 'bar';
}

Method

\Elephant\Test\Unit\TestEnum::Bar->description(); // 'my_bar'

\Elephant\Test\Unit\TestEnum::Bar->convert(); // ['name' => 'Bar' 'value' => 'bar']

// ... more method.

\Elephant\Test\Unit\TestEnum::options();

\Elephant\Test\Unit\TestEnum::names();

\Elephant\Test\Unit\TestEnum::values();

License

MIT