我想使用反射来获取由 PHP 中的类定义的常量列表。
目前使用反射我可以得到一个常量列表,但这也包括在继承类中声明的那些。有没有一种我可以用来的方法;
- 给定一个类,只获取该类定义的常量
- 给定一个常量和一个类,检查该常量是否由该类定义(不是继承或扩展的父级)。
例如,在以下代码中:
class Foo {
const PARENT_CONST = 'parent';
const ANOTHER_PARENT_CONST = 'another_parent';
}
class Bar extends Foo {
const CHILD_CONST = 'child';
const BAR_CONST = 'bar_const';
}
$reflection = new ReflectionClass('Bar');
print_r($reflection->getConstants());
输出是:
Array
(
[CHILD_CONST] => child
[BAR_CONST] => bar_const
[PARENT_CONST] => parent
[ANOTHER_PARENT_CONST] => another_parent
)
但我只想拥有这个:
Array
(
[CHILD_CONST] => child
[BAR_CONST] => bar_const
)