是否可以在不生成新对象的情况下证明类是否是特定类的实例?
在示例中,我有一个带有类名的数组:
$classNames = [
'TestClass',
'ExampleClass',
'OtherClass'
];
现在,我想证明这3个类是否是主类的一个实例(例如“类”)。
在循环中,应证明是这样的:
foreach($classNames as $className)
{
if($className instanceof Classes)
{
// some code
}
}
但是这不起作用,因为首先我必须实例化诸如TestClass
...之类的类。
还有其他选择吗?我想检查数组中的类是否是“类”的实例。
答案 0 :(得分:2)
您可以使用is_subclass_of
进行此检查:
foreach($classNames as $className)
{
if(is_subclass_of($className, 'Classes')
{
// some code
}
}