Skip to content

devionz/enum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple enum implementation for PHP prior to 8.1

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

About

Simple enum implementation for PHP prior to 8.1

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages