Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP的反射API

PHP的反射API

高洛峰
高洛峰asal
2017-02-28 15:11:321032semak imbas

PHP5添加了一项新的功能:Reflection。这个功能使得phper可以reverse-engineer class, interface,function,method and extension。通过PHP代码,就可以得到某object的所有信息,并且可以和它交互。

PHP的反射API,即在PHP运行状态下,通过分析PHP程序,可以导出对象所属的类,方法,属性,参数等信息。

如何使用反射API

示例代码 Person.php

PHP的反射API

Person类,包含一个成员变量和三个成员方法

获取$student对象的方法和属性列表

PHP的反射API

ReflectionClass类报告了一个类的有关信息

输出结果为:name say __set __get

也可以用class函数,获取对象属性的关联数组的信息

PHP的反射API

通过class()函数获取类的信息

打印结果:

PHP的反射API

通过这个反射API,可以做hook实现插件功能,动态代理等。

网上找的动态代理示例

PHP的反射API

更多PHP的反射API相关文章请关注PHP中文网!


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php批量删除操作Artikel seterusnya:php封装的验证码类