如何检查对象实例是否继承自PHP中的Abstract Class
How to check object instance is inherited from Abstract Class in PHP
我有以下摘要Class
abstract class AbstractPerson{
......
}
我已将 AbstractPerson 继承到 Account
class Account extends AbstractPerson{
......
}
现在我要制作 class
的对象
$account= new Account()
我想知道如何检查 $account
对象是从 AbstractPerson class 扩展而来的吗?
使用:
if ($account instanceof AbstractPerson) {
echo 'AbstractPerson';
}
好吧,您需要 Reflection,以及两个方法 getParentClass() 和 isAbstract()。
这是您需要的工作示例。
$accountReflection = new ReflectionClass('Account');
$parentReflection = new ReflectionClass($accountReflection->getParentClass()->getName());
$isAbstract = $parentReflection->isAbstract(); // return true of false
我有以下摘要Class
abstract class AbstractPerson{
......
}
我已将 AbstractPerson 继承到 Account
class Account extends AbstractPerson{
......
}
现在我要制作 class
的对象$account= new Account()
我想知道如何检查 $account
对象是从 AbstractPerson class 扩展而来的吗?
使用:
if ($account instanceof AbstractPerson) {
echo 'AbstractPerson';
}
好吧,您需要 Reflection,以及两个方法 getParentClass() 和 isAbstract()。
这是您需要的工作示例。
$accountReflection = new ReflectionClass('Account');
$parentReflection = new ReflectionClass($accountReflection->getParentClass()->getName());
$isAbstract = $parentReflection->isAbstract(); // return true of false