background image

 

        if($plugins) 

        { 

            foreach($plugins as $plugin) 

 

            {//假定每个插件文件夹中包含一个 actions.php 文件,它是插件的具体实现 

                if (@file_exists(STPATH .'plugins/'.$plugin['directory'].'/actions.php')) 

                { 

                    include_once(STPATH .'plugins/'.$plugin['directory'].'/actions.php'); 

                    $class = $plugin['name'].'_actions'; 

                    if (class_exists($class))  

                    { 

                        //初始化所有插件 

                        //$this 是本类的引用

                       new $class($this); 

                    } 

                } 

            } 

        } 

        #此处做些日志记录方面的东西 

    } 

 

    /** 

     * 注册需要监听的插件方法(钩子) 

     * 

     * @param string $hook 

     * @param object $reference 

     * @param string $method 

     */ 

    function register($hook, &$reference, $method) 

    {