应用插件开发
约 704 字大约 2 分钟
2025-06-18
创建插件
在项目根目录下命令行窗口,输入下面命令创建一个应用插件:
php webman plugin:create 你的应用名称
开发规范
提示
插件的目录结构请 参考这里。
描述文件 和 Logo
提示
插件的目录下会有一个describe.php文件,描述插件的信息,如:插件名,插件版本,插件作者,插件描述等。logo.png
为插件应用的logo。
return [
'title' => '内容管理系统免费版',
'version' => '1.0.0', //版本号
'desc' => '',
'wx' => '微信',
'email' => 'Email:邮箱@163.com',
'qq' => 'QQ号',
'url' => '//framecoder.rovecoder.com/app_cms_page/12/3', //介绍页地址
'upgrade' => 'http://frameupgrade.rovecoder.com/plugin/upgrade/cms.txt' //在线升级地址
];
数据库规范
数据库表名称以表前缀+应用名(英文)+'_'开头,如:fc_cms_article
,fc_为表前缀 cms为应用名
管理员菜单
管理员菜单表(fc_frame_admin_menu
)中ident
字段必须唯一,并且需要以应用名(英文)+'_'开头,如:cms_admin_cnf_model_index
;plugin
字段为应用名英文
hook钩子
提示
可以在你的代码执行过程中加入钩子,还需要在钩子表(fc_frame_hook
)加入记录
钩子表ident
字段必须唯一,并且需要以应用名(英文)+'_'开头,如:cms_admin_cnf_model_index
;plugin
字段为应用名英文
Event::dispatch('framecoder.hook', [
'ident' => 'frame_reg_send_captcha', //钩子标识,对应钩子表中ident
'data' => $param //执行钩子传入的参数
]);
控制器
提示
控制器在app\plugin\你的应用名称\controller
目录下,又分成admin
,uc
,home
三个目录,分别对应后台,用户中心,前台。后台配置中控制器放在admin/cnf
目录下。
- 后台控制器需继承
core\controller\AdminBase
类 - 用户中心控制器需继承
core\controller\UcBase
类 - 前台控制器需继承
use core\controller\HomeBase
类
视图
提示
视图存放目录为\template\admin\你的应用名称
(后台),\template\uc\你的应用名称
(用户中心),\template\home\站点标识\你的应用名称
(前台)
return $this->view();
return $this->error('错误信息');
return $this->success($data=[]); //$data 返回的数据
静态文件
提示
一般css ,js等文件和框架共用,如有个性化资源则存放目录为\public\static\admin\你的应用名称
(后台),\public\static\uc\你的应用名称
(用户中心),\public\static\home\站点标识\
(前台)
导出插件
导出插件后自己压缩成zip压缩包,压缩包名称格式为(应用名_版本号):cms-1.0.0.zip
php webman plugin:export 你的应用名称
制作插件升级包
重要
需要自己导出文件和数据库打包成zip压缩包。压缩包名称格式为:cms-1.0.0~1.0.1.zip