【原】php面向对象之辅助函数介绍

发表于2014-09-18 19:23  |  次阅读  |  0条评论  |   作者:siru90

一、interfaceof 关键字
php5新有的关键字,可以确定一个对象是类的实例、类的子类、还是实现了某个特定接口,并进行相应的操作。
例:假如希望知道名为manger的对象是否为类employee的实例
$manager = new Employee();
if ($manager instanceof Employee) echo 'yes';

注意:类名没有任何界符(引号),使用界定符将导致语法错误。
应用场景:你可能需要重复的调用某个函数,但希望根据对象类型调整的行为,可以使用case语句和instanceof关键字。

辅助函数:
1、bool class_exists (string class_name)  检查类是否已定义
如果由 class_name 所指的类已经定义,此函数返回 TRUE,否则返回 FALSE。 

2、string get_class (object obj)  返回对象的类名
返回对象实例 obj 所属类的名字。如果 obj 不是一个对象则返回 FALSE。

3、array get_class_vars (string class_name)   返回由类的默认属性组成的数组
返回由类的默认属性组成的关联数组,此数组的元素以 varname => value 的形式存在。

4、array get_class_methods (mixed class_name)  返回由类的方法名组成的数组
返回由 class_name 指定的类中定义的方法名所组成的数组。

5、array get_declared_classes (void)  返回由已定义类的名字所组成的数组
返回当前执行脚本中定义的所有类名,根据php发行包的配置不同,这个函数输出会有所区别,例如,在测试服务器上执行,将得到包含97个类的列表。

6、array get_object_vars (object obj)  返回由对象属性组成的关联数组
返回由 obj 指定的对象中定义的属性组成的关联数组。

7、string get_parent_class (mixed obj)  返回对象或类的父类名
如果 obj 是对象,则返回对象实例 obj 所属类的父类名。 
如果 obj 是字符串,则返回以此字符串为名的类的父类名。此功能是在 PHP 4.0.5 中增加的。 

8、bool interface_exists (string interface_name [, bool autoload])   确定一个接口是否存在
如果存在则返回true,否则返回false

9、bool is_a (object object, string class_name)
如果对象属于该类或属于class_name的一个子类时则返回 TRUE ,否则返回 FALSE。

10、bool is_subclass_of (object object, string class_name)  如果此对象是该类的子类,则返回 TRUE
如果对象 object 所属类是类 class_name 的子类,则返回 TRUE,否则返回 FALSE。

11、bool method_exists (object object, string method_name)  检查类的方法是否存在
如果 method_name 所指的方法在 object 所指的对象类中已定义,则返回 TRUE,否则返回 FALSE
本站关键字:sunny90 web开发 数据库 移动开发 服务器 Nginx Mysql PHP
Copyright © sunny90版权所有 power by sunny90.com  
湘ICP备14012284号-1,粤公网安备 44030602000307号