国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php如何利用反射實現(xiàn)插件機制

2020-03-22 17:59:46
字體:
來源:轉載
供稿:網(wǎng)友
這篇文章主要介紹了php利用反射實現(xiàn)插件機制的方法,涉及php反射機制與插件的實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了php利用反射實現(xiàn)插件機制的方法。具體實現(xiàn)方法如下

代碼如下:

 ?php * @name PHP反射API--利用反射技術實現(xiàn)的插件系統(tǒng)架構interface Iplugin{  html' target='_blank'>public static function getName(); function findPlugins(){  $plugins = array();  foreach (get_declared_classes() as $class){  $reflectionClass = new ReflectionClass($class);  if ($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; class MycoolPugin implements Iplugin {  public static function getName(){  return MycoolPlugin  public static function getMenuItems(){  return array(array( description = MycoolPlugin , link = /MyCoolPlugin  public static function getArticles(){  return array(array( path = /MycoolPlugin , title = This is a really cool article , text = xxxxxxxxx )); $menu = computeMenu(); $articles = computeArticles(); print_r($menu); print_r($articles);

總結:以上就是本篇文的全部內(nèi)容,希望能對大家的學習有所幫助。

相關推薦:

php實現(xiàn)采集中國代理服務器網(wǎng)

php變量的判定與動態(tài)定義

PHP實現(xiàn)簡單的GET、POST、Cookie、Session等功能

以上就是php如何利用反射實現(xiàn)插件機制的詳細內(nèi)容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 梧州市| 临洮县| 昌江| 阿荣旗| 土默特右旗| 普安县| 阜新| 屯昌县| 东明县| 仲巴县| 广宁县| 澄城县| 德州市| 肥东县| 水城县| 景泰县| 翁牛特旗| 东乡族自治县| 右玉县| 德钦县| 洞口县| 文登市| 汾西县| 金秀| 蒙自县| 新巴尔虎右旗| 特克斯县| 瓮安县| 顺平县| 苏尼特左旗| 江门市| 蒙山县| 荣成市| 闵行区| 鞍山市| 永登县| 北宁市| 溆浦县| 礼泉县| 弋阳县| 乡宁县|