您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php利用反射实现插件机制的方法_PHP教程

2026/2/1 15:02:05发布18次查看
php利用反射实现插件机制的方法 本文实例讲述了php利用反射实现插件机制的方法。分享给大家供大家参考。具体实现方法如下:
代码如下:
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); 
希望本文所述对大家的php程序设计有所帮助。
http://www.bkjia.com/phpjc/969331.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/969331.htmltecharticlephp利用反射实现插件机制的方法 本文实例讲述了php利用反射实现插件机制的方法。分享给大家供大家参考。具体实现方法如下: 代码如下...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product