服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - 浅谈PHP的反射API

浅谈PHP的反射API

2021-04-26 16:15AntFoot PHP教程

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

延伸 · 阅读

精彩推荐