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('test\abc')); 
输出:

  Array
  (
    [0] => cd
  )

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

 

    2、get_class_vars

print_r(get_class_vars('test\abc'));
输出:

Array
(
[a] => 1
)

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

 3、is_callable

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

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

4、get_parent_class
print_r(get_parent_class('test\hi')); //  test\abc


5、instanceof
var_dump( $o instanceof abc);


6、类::class
var_dump(abc::class);//  test\abc


7、is_subclass_of
var_dump(is_subclass_of('test\hi','test\abc'));//bool(true)


8、get_parent_class
echo get_parent_class('test\hi');//test\abc

 

posted @ 2020-07-10 07:49  i金少  阅读(181)  评论(0编辑  收藏  举报