Closed
Description
Description
The following code:
<?php
class A {
const LIST = [
self::TEST => 'Test',
];
private const TEST = 'test';
}
class B extends A {
}
$r = new ReflectionClass(B::class);
print_r($r->getConstants());
Resulted in this output:
Fatal error: Uncaught Error: Undefined constant self::TEST in /in/FuJAW:15
Stack trace:
#0 /in/FuJAW(15): ReflectionClass->getConstants()
#1 {main}
thrown in /in/FuJAW on line 15
But I expected this output instead:
Array
(
[LIST] => Array
(
[test] => Test
)
)
that is the output you get by defining the constants this way:
private const TEST = 'test';
const LIST = [
self::TEST => 'Test',
];
PHP Version
8.1.2
Operating System
No response