1.class_exists("类名") :判断一个类是否存在(是否被定义);
eg: class_exists('A') ;//判断类A是否被定义 ;
2.interface_exists("接口名") :判断一个接口是否被定义 ;
eg: interface_exists('IA') ;//判断接口IA是否被定义 ;
3.get_class("对象名") :获取某个对象的所属类 ;
eg: $obj = new A() ;
get_class($obj) ; //获取对象$obj的所属类,这里就是A
4.get_parent_class($obj) :获取某个对象所属类的父类
eg: class A{}
class B extends A{}
$obj = new B() ;
get_parent_class($obj) ; //获取$obj所属类的父类,这里是A
5.get_class_methods("类名或对象名") :获取一个类(或对象所在类)的所有方法,结果是一个数组,里面存储的是一些方法名称;
eg: class A{
public function show(){}
public function show2(){}
}
$obj = new A() ;
$function_arr = get_class_methods("A") ; // 获取类A的所有方法,结果是一个存放类A的所有方法的数组;
or
$function_arr = get_class_methods($obj) ; //
6.get_class_vars("类名") :获取一个类的所有属性名,结果是一个数组,里面存放的是这些属性名称;
eg: class A{
public $p1 ;
public $p1 ;
}
$attribute_arr = get_class_vars("A") ; //获取类A的所有属性,结果是一个存放类A的所有属性的数组
7.get_declared_classes() :获取整个系统所定义的所有类名,结果是一个数组,里面存放的是整个系统中定义的所有类的类名;
eg: class A{}
class B{}
class C{}
class D{}
$classes_arr = get_declared_classes() ; //假设整个系统就定义以上4个类,那么这个结果将是一个存放以上4个类的类名的数组