1.检测类是否存在
函数:class_exist(); 1.可以使用isset(),直接检测
、 2.if(class_exist('MyClass')){
$myclass = new MyClass();
}
2.获取脚本进程中定义的所有类的数组
函数: get_declared_classes()
它会列出用户自己定义的类以及PHP内置的类. 注意:它只返回在函数调用时已经声明的类.
3:通过实例对象获取类名
函数: get_class($classname)
通过将对象的实例作为参数传递进去,返回对象的类名.
4:检测对象是否属于某类
关键字: instanceof
(PHP4不支持instanceof关键字,而是提供了is_a()函数,但是这个函数在PHP5.0的时候就不使用了,从PHP5.3开始,又重新使用is_a())
instanceof 有两个操作数,要检测的对象在关键字左边,类或者接口名在右边.如果左侧的对象属于右侧类型的实例,则返回true,反之返回false
if(对象实例 instanceof 类或接口){
}
5:获取类中的所有方法
函数: get_class_methods(‘Person’)
参数为字符串的类名,需要注意的是,在获取类中方法的时候,只能获取类中公共方法,对private,protected类型的方法都无法获取的到.
6:检测方法是否存在于类中
函数: is_callable(),method_exists()
is_callable(): 接受字符串变量形式的方法名作为第一个参数,如果类方法存在且可以被调用,则返回true.如果要检测类中的方法能不能被调用,可以给这个函数传递一个数 组,而不是类方法名作为参数.数组必须包含对象或者类名,以将其作为第一个元素,要检测的方法名则作为第二个元素,如果该方法在类中存在,函数则会返回 true.
method_exists(): 相比而言,这个函数就简单多了,这个方法需要传递两个参数,第一个参数对对象名,第二个参数为方法名,如果给定的方法在类中存在则返回true.
7: 了解类中的属性.
函数: get_class_vars(‘class’)
就想查询类的方法一样,我们也可以查看类有哪些属性.(只能查看public的属性,如果属性为private或者protected将无法查看).该函数的参数为一个字符串的类名.
8:通过子类名获取父类的名字
函数:get_parent_class()
这个函数需要一个对象或者类名作为参数,如果这个类或者对象存在父类的话,则把父类的名字返回.如果不存在则返回false
9:检测一个类是否是另一个类的子类
函数: is_subclass_of()
这个函数需要接受两个参数,第一个参数为子类的对象,第二个参数为父类的名字.如果第二个参数是第一个参数的父类的话,则返回true.