我想使用反射来获得由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
)