1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
--TEST--
ReflectionEnum::getCases()
--FILE--
<?php
enum Enum_ {
case Foo;
case Bar;
const Baz = self::Bar;
}
enum IntEnum: int {
case Foo = 0;
case Bar = 1;
const Baz = self::Bar;
}
var_dump((new ReflectionEnum(Enum_::class))->getCases());
var_dump((new ReflectionEnum(IntEnum::class))->getCases());
?>
--EXPECT--
array(2) {
[0]=>
object(ReflectionEnumUnitCase)#2 (2) {
["name"]=>
string(3) "Foo"
["class"]=>
string(5) "Enum_"
}
[1]=>
object(ReflectionEnumUnitCase)#3 (2) {
["name"]=>
string(3) "Bar"
["class"]=>
string(5) "Enum_"
}
}
array(2) {
[0]=>
object(ReflectionEnumBackedCase)#2 (2) {
["name"]=>
string(3) "Foo"
["class"]=>
string(7) "IntEnum"
}
[1]=>
object(ReflectionEnumBackedCase)#1 (2) {
["name"]=>
string(3) "Bar"
["class"]=>
string(7) "IntEnum"
}
}
|