如何检查对象实例是从PHP中的Abstract Class继承的

时间:2016-07-28 13:23:43

标签: php inheritance abstract-class

我有抽象类

abstract class AbstractPerson{
  ......
}

我已将AbstractPerson继承到帐户

class Account extends AbstractPerson{
  ......
}

现在我要制作班级

的对象
$account= new Account()

我想知道如何检查$account对象是否从AbstractPerson类扩展?

2 个答案:

答案 0 :(得分:2)

嗯,你需要Reflection和两个方法getParentClass()& isAbstract()。

以下是您需要的实例。

$accountReflection     = new ReflectionClass('Account');
$parentReflection     = new ReflectionClass($accountReflection->getParentClass()->getName());
$isAbstract           = $parentReflection->isAbstract(); // return true of false

答案 1 :(得分:0)

使用:

if ($account instanceof AbstractPerson) {
   echo 'AbstractPerson';
}