devionz/enum

Simple enum implementation for PHP prior to 8.1

Maintainers

Details

github.com/devionz/enum

Source

Issues

Installs: 5

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/devionz/enum

1.0 2022-07-01 20:34 UTC

This package is auto-updated.

Last update: 2025-10-29 03:22:51 UTC


README

Installation

composer require devionz/enum

Declaration

use Devionz\Enum\Enum;

class Status extends Enum
{
    private const DRAFT = 'draft';
    private const PUBLISHED = 'published';
    private const PENDING = 'pending';
}

Examples

function getValue(Status $status) {
    return $status->value;
}

$enum1 = Status::DRAFT();
$enum2 = Status::from('draft');
$enum3 = Status::tryFrom('draft');

echo $enum1->name; // 'DRAFT'
echo $enum1->value // 'draft'
echo getValue($enum1); // 'draft

var_dump($enum1 === $enum2); // Returns true