浅谈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 相关文章推荐
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
Mar 16 PHP
php 分页原理详解
Aug 21 PHP
php 魔术函数使用说明
Feb 21 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
Jul 16 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
Feb 22 PHP
PHP MVC框架路由学习笔记
Mar 02 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
PHP更安全的密码加密机制Bcrypt详解
Jun 18 PHP
作为PHP程序员你要知道的另外一种日志
Jul 30 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 PHP
php并发加锁问题分析与设计代码实例讲解
Feb 26 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
PHP5 的对象赋值机制介绍
2011/08/02 PHP
php常见的魔术方法详解
2014/12/25 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
如何利用预加载优化Laravel Model查询详解
2017/08/11 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
使用jQuery和ajax代替iframe的方法(详解)
2017/04/12 jQuery
layui select动态添加option的实例
2018/03/07 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
使用weixin-java-tools完成微信授权登录、微信支付的示例
2018/09/26 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
python 读入多行数据的实例
2018/04/19 Python
pandas多级分组实现排序的方法
2018/04/20 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
2020/03/28 Python
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
高三自我鉴定
2013/10/23 职场文书
环保项目建议书
2014/08/26 职场文书
公司收款委托书范本
2014/09/20 职场文书
师德师风个人总结
2015/02/06 职场文书
停电放假通知
2015/04/14 职场文书
工作失职自我检讨书
2015/05/05 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL