,,php反射类ReflectionClass用法分析

,,php反射类ReflectionClass用法分析 这篇文章主要介绍了服务器端编程语言(专业超文本预处理器的缩写)反射类反射类用法,结合实例形式较为详细的分析了服务器端编程语言(专业超文本预处理器的缩写)反射类的概念、功能与具体使用方法,需要的朋友可以参考下 本文实例讲述了服务器端编程语言(专业超文本预处理器的缩写)反射类反射类用法分享给大家供大家参考,具体如下: 先来看一段代码: /** * @name PHP反射API -利用反射技术实现的插件系统架构 * @作者:PHPCQ .计算机输出缩微胶片 */ 界面Iplugin { 公共静态 函数getName(); } 函数查找插件() { $ plugins=array(); foreach(get _ declared _ classes()as $ class) { $ reflection class=新的反射类($ class); if($反射类-实现接口(' I插件')) { $ plugins[]=$ reflection类; } } 返回$插件 } 函数计算菜单() { $ menu=array(); foreach(findPlugins() as $plugin) { if($ plugin-has方法(' getMenuItems ')) { $ reflection method=$ plugin-get方法(' getMenuItems '); if ($reflectionMethod - isStatic()) { $ items=$ reflection方法-invoke(null); } 其他 { $插件实例=$插件-新实例(); $ items=$ reflection方法-invoke($ pluginInstance); } $menu=array_merge($menu,$ items); } } 返回$菜单 } 函数计算文章() { $ articles=array(); foreach(findPlugins() as $plugin) { if($ plugin-has方法(' get articles ')) { $ reflection method=$ plugin-get method(' get articles '); if ($reflectionMethod - isStatic()) { $ items=$ reflection方法-invoke(null); } 其他 { $插件实例=$插件-新实例(); $ items=$ reflection方法-invoke($ pluginInstance); } $ articles=array _ merge($ articles,$ items); } } 返回$文章 } require _ once('插件PHP’); $ menu=compute menu(); $ articles=computeArticles(); print _ r($ menu); print _ r($ articles); plugin.php代码如下: ?服务器端编程语言(专业超文本预处理器的缩写) MycoolPugin类实现Iplugin { 公共静态 函数getName() { 返回”my coolplugin”; } 公共静态 函数getMenuItems() { 返回数组(数组(' description '=' MycoolPlugin ',' link '='/MycoolPlugin ')); } 公共静态 函数getArticles() { 返回数组(array(' path '='/MycoolPlugin ',' title'='这真是一篇很酷的文章,'文本'=xxxxx

xxxx));

}

}

上述代码是服务器端编程语言(专业超文本预处理器的缩写)反射类的一个应用。

什么是服务器端编程语言(专业超文本预处理器的缩写)反射类,顾名思义,可以理解为一个类的映射。

举个例子:

岩藻糖类{ //定义一个类

静电

函数ec() {

回声我是一个类;

}

}

$ class=新反射类(' fuc ');//建立岩藻糖这个类的反射类

至于$class这反射类里有什么东东,可以查看手册,这里不详解了

$ fuc=$ class-new instance();//相当于实例化岩藻糖类

$ fuc-EC();//执行岩藻糖里的方法欧共体

/*最后输出:我是一个类*/

其中还有一些更高级的用法

$ EC=$ class-get方法(' EC ');//获取岩藻糖类中的欧共体方法

$ fuc=$ class-new instance();//实例化

$ EC-invoke($ fuc);//执行欧共体方法

上面的过程很熟悉吧。其实和调用对象的方法类似

只不过这里是反着来的,方法在前,对象在后

补充:这里推荐一款本站的服务器端编程语言(专业超文本预处理器的缩写)代码在线格式化工具,可以方便读者对网上压缩的服务器端编程语言(专业超文本预处理器的缩写)格式化代码后进行阅读,方便实用!

服务器端编程语言(专业超文本预处理器的缩写)代码在线格式化美化工具:

http://tools.jb51.net/code/phpformat

更多关于服务器端编程语言(专业超文本预处理器的缩写)相关内容感兴趣的读者可查看本站专题: 《PHP数组(Array)操作技巧大全》 、 《php排序算法总结》 、 《PHP常用遍历算法与技巧总结》 、 《PHP数据结构与算法教程》 、 《php程序设计算法总结》 、 《PHP数学运算技巧总结》 、 《php正则表达式用法总结》 、 《PHP运算与运算符用法总结》 、 《php字符串(string)用法总结》 及《php常见数据库操作技巧汇总》

希望本文所述对大家服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括,七种PHP开发环境搭建工具
  • php高并发三种解决方法,php 高并发解决方案
  • php高并发三种解决方法,php 高并发解决方案,PHP解决高并发问题(opcache)
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么,php邮件发送的两种方式
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频,PHP跳转页面的几种实现方法详解
  • PHP购物车,php立即购买和购物车功能
  • PHP购物车,php立即购买和购物车功能,php实现购物车功能(上)
  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • php网站判断用户是否是手机访问的方法有哪些,php如何判断用户是否登录
  • 留言与评论(共有 条评论)
       
    验证码: