在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
?
答案 0 :(得分:1)
定义自己的函数,检查它们是否是同一个类名,或者是另一个的子类。
function same_or_subclass_of($class, $parent) {
return $class == $parent || is_subclass_of($class, $parent);
}