php面向对象之反射功能与用法分析


Posted in PHP onMarch 29, 2017

本文实例讲述了php面向对象之反射功能与用法。分享给大家供大家参考,具体如下:

个人对反射定义的理解:

首先得说说什么叫反射。对于一个新手来说,反射这个概念常常给人一种似懂非懂的 感觉,不知道该如何下手操作。

反射是指:指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,同时也包括注释。这种动态获取的信息以及动态调用对象的方法 的功能称为反射API。反射是操纵面向对象范型中元模型的API,其功能十分强大,可帮助我们构建复杂,可扩展的应用。(注意:php中这种反向操作,实在PHP5之后才完全具备

下面在此我用实例进行说明:

class test{
     private   $A;
     public   $B;
     protected  $C;
     public function test(){
       return "this is a test function";
     }
}
//实例化一个反射类ReflectionClass
$obj=new ReflectionClass('test');
echo $obj."<br>";
//实例化test类,并访问其test方法
$obj2=$obj->newInstance();
echo $obj2->test();

个人实例返回结果:

/** * xxx.php * ============================================== * Copy right 2012-2015 * ---------------------------------------------- * This is not a free software, without any authorization is not allowed to use and spread. * ============================================== * @Author:YeXianMing * @Email:LangWaiShiGe@hotmail.com * @Version:zend studio10.6.2 php5.4.38 apache2.2 */ Class [ class test ] { @@ D:\www\MyProjecttest\index5.php 13-21 - Constants [0] { } - Static properties [0] { } - Static methods [0] { } - Properties [3] { Property [ private $A ] Property [ public $B ] Property [ protected $C ] } - Methods [1] { Method [ public method test ] { @@ D:\www\MyProjecttest\index5.php 18 - 20 } } }
this is a test function

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
一个程序下载的管理程序(四)
Oct 09 PHP
模仿OSO的论坛(五)
Oct 09 PHP
php 遍历数据表数据并列表横向排列的代码
Sep 05 PHP
PHP定时更新程序设计思路分享
Jun 10 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
php递归json类实例
Dec 02 PHP
php绘制一个扇形的方法
Jan 24 PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 PHP
Redis构建分布式锁
Mar 28 PHP
php日志函数error_log用法实例分析
Sep 23 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
PHP代码覆盖率统计详解
Jul 22 PHP
PHP命名空间namespace的定义方法详解
Mar 29 #PHP
php mysql_list_dbs()函数用法示例
Mar 29 #PHP
php json相关函数用法示例
Mar 28 #PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
Mar 28 #PHP
php事务回滚简单实现方法示例
Mar 28 #PHP
php中bind_param()函数用法分析
Mar 28 #PHP
php实现基于PDO的预处理示例
Mar 28 #PHP
You might like
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
JavaScript的arguments对象应用示例
2014/09/15 Javascript
angularjs自定义ng-model标签的属性
2016/01/21 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
分析JS中this引发的bug
2017/12/12 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
Vue中 axios delete请求参数操作
2020/08/25 Javascript
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
python批量修改文件编码格式的方法
2018/05/31 Python
计算机本科生自荐信
2013/10/15 职场文书
新年主持词
2014/03/27 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书
服务员态度差检讨书
2014/10/28 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
2014年收银工作总结
2014/11/13 职场文书
三八节活动主持词
2015/07/04 职场文书
python文件与路径操作神器 pathlib
2022/04/01 Python
win10清理dns缓存
2022/04/19 数码科技
spring boot实现文件上传
2022/08/14 Java/Android