composer require bronos/php-enum
use BronOS\PhpEnum\ConstEnum;
class MyEnum extends ConstEnum
{
private const ONE = 1;
private const TWO = 2;
private const THREE = 3;
}
$enumOne = MyEnum::ONE(); // $enumOne->getValue() == 1
$enumTwo = MyEnum::TWO(); // $enumTwo->getValue() == 2
$enumTree = new MyEnum(3); // $enumThree->getValue() == 3
$enumOne->getOptionName() == 'ONE';
$enumOne->isEqual(1) == true;
MyEnum::isValid(5) == false;
new MyEnum(4); // EnumException