PHP类检查相关函数

例程:
namespace test;
class abc{
public static $a =1;
private function ab()
{
echo 'ab';
}
public function cd()
{
echo 'cd';
}
}
class hi extends abc
{

}


1、get_class_methods
print_r(get_class_methods('testabc')); 
输出:

  Array
  (
    [0] => cd
  )

因为 ab 方法为private所以不会输出

    2、get_class_vars

print_r(get_class_vars('testabc'));
输出:

Array
(
[a] => 1
)

因为 $b 属性为private所以不会输出

 3、is_callable

var_dump(is_callable(['testabc','ab']));  //bool(false)  私有方法不可call
var_dump(is_callable(['testabc','cd']));//bool(true) 公有方法可call

var_dump(is_callable([$o,'cd']));// bool(true) //可以用来检查类或对象

4、get_parent_class
print_r(get_parent_class('testhi')); //  testabc


5、instanceof
var_dump( $o instanceof abc);


6、类::class
var_dump(abc::class);//  testabc


7、is_subclass_of
var_dump(is_subclass_of('testhi','testabc'));//bool(true)


8、get_parent_class
echo get_parent_class('testhi');//testabc
原文地址:https://www.cnblogs.com/jinshao/p/13271557.html