浅谈PHP的反射API


Posted in PHP onFebruary 26, 2017

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 相关文章推荐
一个阿拉伯数字转中文数字的函数
Oct 09 PHP
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
Laravel 5框架学习之环境与配置
Apr 08 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
Apr 15 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 PHP
Referer原理与图片防盗链实现方法详解
Jul 03 PHP
PHP实现通过二维数组键值获取一维键名操作示例
Oct 11 PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 #PHP
php封装的验证码类分享
Feb 26 #PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 #PHP
简单谈谈PHP中的trait
Feb 25 #PHP
laravel中命名路由的使用方法
Feb 24 #PHP
cakephp常见知识点汇总
Feb 24 #PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
Feb 24 #PHP
You might like
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
淘宝秒杀python脚本 扫码登录版
2019/09/19 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
python中什么是面向对象
2020/06/11 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
新锐科技Java程序员面试题
2016/07/25 面试题
中文专业毕业生自荐信
2013/10/28 职场文书
高一自我鉴定
2013/12/17 职场文书
租赁协议书范本
2014/04/22 职场文书
个人授权委托书模板
2014/09/14 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
2014年化验员工作总结
2014/11/18 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL
golang的文件创建及读写操作
2022/04/14 Golang
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers