background image

原理讲了一大堆,下面看看我的实现方案:

插件经理

PluginManager 类:

代码

:

<?
/** 
* STBLOG PluginManager Class 

* 插件机制的实现核心类 

* @package        STBLOG 
* @subpackage    Libraries 
* @category    Libraries 
* @author        Saturn 
*    @link 
*/ 
class PluginManager 

    /** 
     * 监听已注册的插件 
     * 
     * @access private 
     * @var array 
     */ 
    private $_listeners = array(); 
     /** 
     * 构造函数 
     *  
     * @access public 
     * @return void 
     */ 
    public function __construct() 
    { 
        #这里$plugin 数组包含我们获取已经由用户激活的插件信息 
     #为演示方便,我们假定$plugin 中至少包含 
     #$plugin = array( 
        #    'name' => '插件名称', 
        #    'directory'=>'插件安装目录' 
        #); 
        $plugins = get_active_plugins();#这个函数请自行实现 
        if($plugins) 
        { 
            foreach($plugins as $plugin)