有时候我们需要对类进行除了实例化外的一些操作,比如检查类是否存在,看看类有哪些字段、方法等。
PHP自带了很多函数可以用来帮助开发人员管理和使用类库。
本节主要介绍这些函数。
确定类是否存在
当前执行脚本上下文中如果存在class_name指定的类,则class_exists()函数返回true;否则返回false。其形式如下:
boolean class_exists(string class_name)
确定对象上下文
get_class()函数返回object所属类的类名,如果object不是对象则返回false。其形式为:
string get_class(object object)
了解类方法
get_class_methods()函数返回一个数组,其中包含class_name类中定义的所有方法名。其形式为:
array get_class_mothods(mixed class_name)
了解类字段
get_class_vars()函数返回一个关联数组,其中包含class_name类中定义的所有字段名及其相应的值。其形式为:
array get_class_vars(string class_name)
了解声明类
函数get_declared_classes()返回一个数组,其中包含当前执行脚本中定义的所有类名。根据 PHP 发行包的配置不同,这个函数的输出会有所区别。例如,在测试服务器上执行get_declared_classes()将得到包含97个类的列表。其形式为:
array get_declared_classes(void)
了解对象字段
get_object_vars()函数返回一个关联数组,其中包含object可用的已定义字段以其相应的值。没有值得字段在关联数组中将赋值为NULL。其形式为:
array get_object_vars(object object)
确定对象的父类
get_parent_class()函数返回object所属类的父类名。如果object类是基类,那么就返回该类的名称。其形式为:
string get_parent_class(mixed object)
确定接口是否存在
interface_exists()函数确定一个接口是否存在,如果存在则返回true,否则返回false。其形式为:
boolean interface_exists(string interface_name[,boolean autoload])
确定对象类型
object属于class_name类时,或者属于class_name的一个子类时,is_a()函数返回true。如果object与class_name类型无关,则返回false。其形式为:
boolean is_a(object object,string class_name)
确定对象的子类类型
object属于继承自class_name的类时,is_subclass_of()函数返回true,否则返回false。其形式为:
boolean is_subclass_of(object object,string class_name)
确定方法是否存在
object中有名为method_name的方法,method_exists()函数返回true,否则返回false。其形式为:
boolean method_exists(object object,string method_name)
猜你喜欢: