PHP在实例化之前检查类父级
我试图做的是在实例化之前检查一些类继承PHP在实例化之前检查类父级,php,oop,inheritance,parent-child,Php,Oop,Inheritance,Parent Child,我试图做的是在实例化之前检查一些类继承 class A{} class B extends A{} class C{} 在继续之前,我想检查B、C类的继承情况,如果它们继承了A,那么继续,否则我不会实例化 我不想要的是: 我想要的是: 但我只是想知道这是否可能 谢谢。是的,可以使用: is_subclass_of(); 以下示例来自: 因为PHP5.5:是(B::class,A::class);//正确(针对以下OP示例)。class静态属性返回完整的类路径,包括名称空间。 // That'
class A{}
class B extends A{}
class C{}
在继续之前,我想检查B、C类的继承情况,如果它们继承了A,那么继续,否则我不会实例化
我不想要的是:
我想要的是:
但我只是想知道这是否可能
谢谢。是的,可以使用:
is_subclass_of();
以下示例来自:
因为PHP5.5:
是(B::class,A::class);//正确(针对以下OP示例)
。class
静态属性返回完整的类路径,包括名称空间。
// That's what i want
var_dump(B instance of A); // Not valid
is_subclass_of();
// usable only since PHP 5.0.3
if (is_subclass_of('WidgetFactory_Child', 'WidgetFactory')) {
echo "yes, WidgetFactory_Child is a subclass of WidgetFactory\n";
} else {
echo "no, WidgetFactory_Child is not a subclass of WidgetFactory\n";
}