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 相关文章推荐
第九节 绑定 [9]
Oct 09 PHP
一个程序下载的管理程序(三)
Oct 09 PHP
PHP编程中八种常见的文件操作方式
Nov 19 PHP
基于xcache的配置与使用详解
Jun 18 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
Sep 26 PHP
php获取当前时间的毫秒数的方法
Jan 26 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 PHP
访问编码后的中文URL返回404错误的解决方法
Aug 20 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
php检索或者复制远程文件的方法
Mar 13 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
Sep 23 PHP
详解php中空字符串和0之间的关系
Oct 23 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
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
PHP中的CMS的涵义
2007/03/11 PHP
20个PHP常用类库小结
2011/09/11 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
JS版网站风格切换实例代码
2008/10/06 Javascript
Chosen 基于jquery的选择框插件使用方法
2012/05/30 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
一道JS前端闭包面试题解析
2015/12/25 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
如何提高数据访问速度
2016/12/26 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
Python Tkinter基础控件用法
2014/09/03 Python
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
2020/05/11 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
NEW LOOK官网:英国时装零售巨头之一,快时尚品牌
2017/01/11 全球购物
个人股份合作协议书
2014/10/24 职场文书
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android