php反射类ReflectionClass用法分析

前端之家收集整理的这篇文章主要介绍了php反射类ReflectionClass用法分析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP反射类ReflectionClass用法分享给大家供大家参考,具体如下:

先来看一段代码

implementsInterface('Iplugin')) { $plugins[] = $reflectionClass; } } return $plugins; } function computeMenu() { $menu = array(); foreach(findPlugins() as $plugin) { if ($plugin - > hasMethod('getMenuItems')) { $reflectionMethod = $plugin - > getMethod('getMenuItems'); if ($reflectionMethod - > isStatic()) { $items = $reflectionMethod - > invoke(null); } else { $pluginInstance = $plugin - > newInstance(); $items = $reflectionMethod - > invoke($pluginInstance); } $menu = array_merge($menu,$items); } } return $menu; } function computeArticles() { $articles = array(); foreach(findPlugins() as $plugin) { if ($plugin - > hasMethod('getArticles')) { $reflectionMethod = $plugin - > getMethod('getArticles'); if ($reflectionMethod - > isStatic()) { $items = $reflectionMethod - > invoke(null); } else { $pluginInstance = $plugin - > newInstance(); $items = $reflectionMethod - > invoke($pluginInstance); } $articles = array_merge($articles,$items); } } return $articles; } require_once('plugin.PHP'); $menu = computeMenu(); $articles = computeArticles(); print_r($menu); print_r($articles);

plugin.PHP 代码如下:

PHP;"> 'MycoolPlugin','link' => '/MyCoolPlugin')); } public static function getArticles() { return array(array('path' => '/MycoolPlugin','title' => 'This is a really cool article','text' => xxxxxxxxx)); } }

上述代码PHP反射类的一个应用。

什么是PHP反射类,顾名思义,可以理解为一个类的映射。

举个例子:

PHP;"> class fuc { //定义一个类 static function ec() { echo '我是一个类'; } } $class=new ReflectionClass('fuc'); //建立 fuc这个类的反射类

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

newInstance(); //相当于实例化 fuc 类 $fuc->ec(); //执行 fuc 里的方法ec /*最后输出:我是一个类*/

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

getmethod('ec'); //获取fuc 类中的ec方法 $fuc=$class->newInstance(); //实例化 $ec->invoke($fuc); //执行ec 方法

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

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

@H_404_35@补充:PHP代码在线格式化工具,可以方便读者对网上压缩的PHP格式化代码后进行阅读,方便实用!

404_35@PHP代码在线格式化美化工具:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》及《PHP常见数据库操作技巧汇总》

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

原文链接:https://www.f2er.com/php/19792.html

猜你在找的PHP相关文章