面向对象的工具

一、魔术方法

(1)、__autoload() : 自动加载类文件,只要实例化就加载类。

(2)__call($_methodName,$args): php内置自动屏蔽错误消息的方法

(3)__toString() : php 内置打印对象的引用,注意用public 修饰,用return 返回内容;

(4)__clone() : php 内置的方法来调整克隆对象的行为。A = new B(); C = clone A;

(5)检测类和对象的函数

1、  class_exists(‘类名’); 检测对象是否存在

2、  get_class(实例化后的对象); 获取类名

3、  get_class_methods(实例化后的对象存储器); 获取对象的公共方法,以数组的形式显示出来

4、  获取类中的公共字段名以数组形式返回:get_class_vars(类名);

5、  获取子类的父类:get_parents_class(类名);

6、  检测某类中是否存在接口:interface_exests(‘类名’);

7、  检测某类是否是类或是否是父类 : is_a(实例化后的类,类名);

8、  确定某类是不是子类的方法 : is_subclass_of(实例化的类名,’要检测的类名’);

9、  检测对象的方法是否存在:methods_exists(实例化后的类名,’方法名’);

二、OOP的反射API

1、获取api的转存反射消息

$rc = new ReflectionClass(‘类名’);

ReflectionClass::export($rc);

2、获取php内置的类库信息

ReflectionClass::export(new Reflection(‘Reflection’));

3、获取类里的某个元素

getFileName();

getName();