首先是插件的管理类的实现:
代码如下:
然后是插件的具体实现方法:
代码如下:
- <?
- /**
- * 这是一个Hello World简单插件的实现
- *
- * @package DEMO
- * @subpackage DEMO
- * @category Plugins
- * @author Saturn
- * @link http://www.cnsaturn.com/
- */
- /**
- *需要注意的几个默认规则:
- * 1. 本插件类的文件名必须是action
- * 2. 插件类的名称必须是{插件名_actions}
- */
- class DEMO_actions
- {
- //解析函数的参数是pluginManager的引用
- function __construct(&$pluginManager)
- {
- //注册这个插件
- //第一个参数是钩子的名称
- //第二个参数是pluginManager的引用
- //第三个是插件所执行的方法
- $pluginManager->register('demo', $this, 'say_hello');
- }
- function say_hello()
- {
- echo 'Hello World';
- }
- }
- ?>
复制代码
比如我要将say_hello放到我博客首页Index.php,那么你在index.php中的某个位置写下:(作者原话)
代码如下:
- $pluginManager->trigger('demo','');
复制代码
以上就是一个插件机制的实现,over!
|