如何检查类实例是否是另一个类的实例

时间:2016-02-23 20:20:15

标签: php

在php中,似乎一个类不是它自己的子类

php > var_dump(is_subclass_of('Exception', 'Exception'));
bool(false)
php > var_dump(is_subclass_of('ErrorException', 'Exception'));
bool(true)

但是,Exception和ErrorException的实例都是Exception的实例,这是我想要检查的属性。是否有一个我可以替换is_subclass_of的函数,这会使两个表达式的输出都为true

1 个答案:

答案 0 :(得分:1)

定义自己的函数,检查它们是否是同一个类名,或者是另一个的子类。

function same_or_subclass_of($class, $parent) {
    return $class == $parent || is_subclass_of($class, $parent);
}