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=这真是一篇很酷的文章,文本=xxxxxxxxx));
}
}
上述代码是服务器端编程语言(专业超文本预处理器的缩写)反射类的一个应用。
什么是服务器端编程语言(专业超文本预处理器的缩写)反射类,顾名思义,可以理解为一个类的映射。
举个例子:
岩藻糖类{ //定义一个类
静电
函数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常见数据库操作技巧汇总》
希望本文所述对大家服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。