
自省
|
177
函数
get_parent_class()
的参数可以是类名或对象名,返回值为父类名,如没有父类,
则返回
FALSE
:
class A {}
class B extends A {}
$obj = new B;
echo get_parent_class($obj);
echo get_parent_class(B);
AA
自省程序示例
示例
6-2
列举了一系列函数,用于将一个对象的属性、方法和继承树(
inheritance tree
)
信息显示在一个页面中。
示例6-2:对象自省函数
//
返回一个可调用方法的数组(包括继承的方法)
function getCallableMethods($object): Array {
$reflection = new ReflectionClass($object);
$methods = $reflection->getMethods();
return $methods;
}
//
返回一个父类的数组
function getLineage($object): Array {
$reflection = new ReflectionClass($object);
if ($reflection->getParentClass()) {
$parent = $reflection->getParentClass();
$lineage = getLineage($parent);
$lineage[] = $reflection->getName(); ...