Enumerator in php
You can install the package via composer:
composer require tleckie/enum
Extends Enum class.
<?php
/**
* Class MyEnum
*
* @author Teodoro Leckie Westberg <teodoroleckie@gmail.com>
*/
class MyEnum extends Enum {
public const VALUE1 = 1;
public const VALUE2 = 2;
public const VALUE3 = 3;
}
$enum = new MyEnum(3);
// Dynamic static methods available
$enum::VALUE3(); // new MyEnum(3)
$enum::VALUE1(); // new MyEnum(1)
$enum::VALUE2(); // new MyEnum(2)
$enum->getValue(); // int(3)
$enum->getValue(); // int(3)
$enum->getKey(); // "VALUE3"
$enum->getValues();
Output:
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
###getKeys()
$enum->getKeys();
Output:
array(3) {
[0]=>
string(6) "VALUE1"
[1]=>
string(6) "VALUE2"
[2]=>
string(6) "VALUE3"
}
###toArray();
$enum->toArray();
Output:
array(3) {
["VALUE1"]=>
int(1)
["VALUE2"]=>
int(2)
["VALUE3"]=>
int(3)
}
(string) MyEnum::VALUE1(); // "1"
(string) new MyEnum(3); // "3"
(string) new MyEnum( MyEnum::VALUE1() ); // "1"