|
PHP5添加了一项新的功能:Reflection。这个功能使得phper可以reverse-engineer class, interface,function,method and extension。通过PHP代码,就可以得到某object的所有信息,并且可以和它交互。 PHP的反射API,即在PHP运行状态下,通过分析PHP程序,可以导出所属的类,方法,,参数等信息。 如何使用反射API 示例代码 Person.php
Person类,包含一个成员变量和三个 获取$student对象的方法和属性列表
ReflectionClass类报告了一个类的有关信息 输出结果为:name say set get 也可以用class函数,获取对象属性的关联的信息
通过class()函数获取类的信息 打印结果:
通过这个反射API,可以做hook实现插件功能,动态代理等。 网上找的动态代理示例 |