CanPHP开发手册--插件类
说明:
- 类文件:CanPHP/lib/Plugin.class.php
- 默认会自动加载,不需要手动include
- 使用插件机制,系统中只要实现几个核心的模块即可,其他功能(如留言本,友情链接,首页幻灯片,广告管理等)均可用插件去实现,实现功能任意定制。
方法:init($suffix='',$config=array())
说明:初始化参数
参数:
- $suffix,用来控制前台插件模块和后台插件模块,前台使用设置为空,后台使用设置为'Admin'
- $config,插件配置参数
//插件配置 $config['PLUGIN_PATH']='./plugins/';//插件目录 $config['PLUGIN_SUFFIX']='Plugin.class.php';//插件模块后缀 //插件配置结束
方法:get()
说明://遍历获取所有插件
参数:
- 返回插件名和插件方法的数组
方法:run($plugin_name,$action_name,$data=NULL)
说明://运行插件
参数:
- $plugin_name,插件名
- $action_name,插件方法
- $data,要传递的参数,支持数组,字符串
- 运行成功,返回true,运行失败,返回false
方法:hook($action_name,$plugin_name='',$data=NULL)
说明:获取不同语言的值
参数:
- $action_name,插件方法
- $plugin_name,插件名,如不指定插件名,默认会执行所有的插件的指定方法
- $data,要传递的参数,可为数组,字符串,不指定参数,默认传递数据
使用方法:
//第一步, 公共模块commonMod.class.php构造函数初始化插件 //前台的初始化方法 Plugin::init(); //后台初始化 $config['PLUGIN_PATH']='./../plugins/'; Plugin::init('Admin',$config); 第二步,创建一个模块,让它去执行插件,可以通过空模块去执行插件,代码如下 //emptyMod.class.php //注意,前台后台,都需要这个空模块文件 //第三步,创建一个简单的插件 /* 在跟index.php入口文件同级的目录,创建plugins目录 然后创建guestbook目录,在创建guestbookPlugin.class.php plugins/guestbook/guestbookPlugin.class.php */ /* 注意路径和文件名类名规则 前台插件模块 plugins/插件名/插件名Plugin.class.php 如:plugins/guestbook/guestbookPlugin.class.php 后台插件模块 plugins/插件名/插件名AdminPlugin.class.php plugins/guestbook/guestbookAdminPlugin.class.php */ 第四步,直接执行插件 执行:http://127.0.0.1/index.php/guestbook/hello 将会输出 hello word 第五步,通过hook方式执行插件 Plugin::hook('hello'); 可以将这句代码放到模块和模板中 //更多的细节讲解,请到论坛查看http://www.canphp.com/bbs