是的,PHP ReflectionClass 可以获取常量。您可以使用 getConstants()
方法来获取类的所有常量或者使用 getConstant()
方法来获取指定名称的常量。
以下是一个示例:
class MyClass {
const CONSTANT_1 = 'value1';
const CONSTANT_2 = 'value2';
}
$reflectionClass = new ReflectionClass('MyClass');
// 获取所有常量
$constants = $reflectionClass->getConstants();
print_r($constants);
// 获取指定名称的常量
$constantValue = $reflectionClass->getConstant('CONSTANT_1');
echo $constantValue; // 输出 "value1"
在这个例子中,我们首先定义了一个名为 MyClass
的类,其中包含两个常量:CONSTANT_1
和 CONSTANT_2
。然后,我们创建了一个 ReflectionClass
对象来表示这个类,并使用 getConstants()
方法获取了类的所有常量。最后,我们使用 getConstant()
方法获取了名为 CONSTANT_1
的常量的值。