Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
--TEST-- ReflectionEnum::getCases() --FILE-- <?php enum Enum_ { case Foo; const B..
Decoded Output download
--TEST--
ReflectionEnum::getCases()
--FILE--
<?php
enum Enum_ {
case Foo;
const Bar = self::Foo;
}
enum IntEnum: int {
case Foo = 0;
const Bar = self::Foo;
}
function test(string $enumName, string $caseName) {
try {
$reflectionEnum = new ReflectionEnum($enumName);
var_dump($reflectionEnum->getCase($caseName));
} catch (Throwable $e) {
echo get_class($e) . ': ' . $e->getMessage() . "
";
}
}
test(Enum_::class, 'Foo');
test(Enum_::class, 'Bar');
test(Enum_::class, 'Baz');
test(IntEnum::class, 'Foo');
test(IntEnum::class, 'Bar');
test(IntEnum::class, 'Baz');
?>
--EXPECT--
object(ReflectionEnumUnitCase)#2 (2) {
["name"]=>
string(3) "Foo"
["class"]=>
string(5) "Enum_"
}
ReflectionException: Enum_::Bar is not a case
ReflectionException: Case Enum_::Baz does not exist
object(ReflectionEnumBackedCase)#2 (2) {
["name"]=>
string(3) "Foo"
["class"]=>
string(7) "IntEnum"
}
ReflectionException: IntEnum::Bar is not a case
ReflectionException: Case IntEnum::Baz does not exist
Did this file decode correctly?
Original Code
--TEST--
ReflectionEnum::getCases()
--FILE--
<?php
enum Enum_ {
case Foo;
const Bar = self::Foo;
}
enum IntEnum: int {
case Foo = 0;
const Bar = self::Foo;
}
function test(string $enumName, string $caseName) {
try {
$reflectionEnum = new ReflectionEnum($enumName);
var_dump($reflectionEnum->getCase($caseName));
} catch (Throwable $e) {
echo get_class($e) . ': ' . $e->getMessage() . "\n";
}
}
test(Enum_::class, 'Foo');
test(Enum_::class, 'Bar');
test(Enum_::class, 'Baz');
test(IntEnum::class, 'Foo');
test(IntEnum::class, 'Bar');
test(IntEnum::class, 'Baz');
?>
--EXPECT--
object(ReflectionEnumUnitCase)#2 (2) {
["name"]=>
string(3) "Foo"
["class"]=>
string(5) "Enum_"
}
ReflectionException: Enum_::Bar is not a case
ReflectionException: Case Enum_::Baz does not exist
object(ReflectionEnumBackedCase)#2 (2) {
["name"]=>
string(3) "Foo"
["class"]=>
string(7) "IntEnum"
}
ReflectionException: IntEnum::Bar is not a case
ReflectionException: Case IntEnum::Baz does not exist
Function Calls
None |
Stats
MD5 | 82aa05bf0b557b80fcb35549bc70ca62 |
Eval Count | 0 |
Decode Time | 73 ms |