[PHP]How to check if a class inherits another class without instantiating it?

前端 未结 3 1802
轮回少年
轮回少年 2021-01-05 11:35

I have some class name. How to check if a class inherits another class without instantiating it?

 if (!class_exists($controller)) //AND I have check type
            


        
3条回答
  •  灰色年华
    2021-01-05 11:57

    You can use is_subclass_of:

    http://php.net/manual/en/function.is-subclass-of.php

    class TestA {}
    class TestB extends TestA {}
    class TestC extends TestB {}
    
    var_dump(is_subclass_of('TestA', 'TestA')); // false
    var_dump(is_subclass_of('TestB', 'TestA')); // true
    var_dump(is_subclass_of('TestC', 'TestA')); // true
    

提交回复
热议问题