插件是用于扩展系统的功能的一些独立“组件”。
## 功能定义
插件的定位是用于实现某些简单的显示及数据处理的功能扩展。所以我们的初衷是插件的开启关闭,不会影响原有数据。
为了管理的方便,我们在后台给插件默认提供了插件列表页,钩子列表,以及配置插件、快速创建插件结构、安装、卸载、启用停用、插件后台页面,方便大家定义管理插件相关的数据。
## 物理定义
位于站点根目录 wwwroot/Addons 下的一个类库,可以被系统的hooks函数访问到。
## Addons插件目录详解 以投票插件为例介绍下SOPHP插件目录结构
├─Addons 插件库 (包括微信插件和原oneThink插件在里面)
└──Vote 投票插件标识
├─Controller 插件控制器目录
└──VoteController.class.php 投票处理主程序 投票列表,增,删,改和手机端投票的功能都在这个文件里实现
├─Model * 插件模型目录
├──VoteOptionModel.class.php 投票选项模型
└──WeixinAddonModel.class.php 投票与微信交互的模型文件
├─View* 插件视图文件目录
└──default 视图默认风格
└──Pbulic 公共资源文件
└──Vote 对应着上面VoteController.class.php方法里的模板
├──add.html 增加投票模板
├──edit.html 编辑投票模板
├──lists.html 投票管理列表模板
└──show.html 手机端投票模板
├─config.php 插件配置文件
└─VoteAddon.class.php 插件文件
|——install.sql 数据安装文件
|——icon.png 插件LOGO
|——*uninstall.sql * 数据卸载文件
目前仅介绍一下目录结构,在插件开发中将讲解每个文件如何定义。
- SOPHP开放平台简介
- 一、入门(双击查看)
- 1.SOPHP简介
- 2.SOPHP的安装
- 3.开源许可协议
- 二、系统架构
- 1.框架目录结构
- 2.应用模块目录
- 3.插件目录结构
- 4.数据字典(表头sophp_省略)
- 1.action系统行为表
- 2.action_log行为日志表
- 3.addon_category插件分类表
- 4.addons插件表
- 5.attachment附件表
- 6.attribute模型属性表
- 7.auth_extend用户组与分类的对应关系表
- 8.config系统配置表
- 9.hooks钩子表
- 10.keyword关键词表
- 11.user用户表
- 12.public公众号表
- 13.file文件表
- 14.picture图片表
- 三、二次开发指南
- 1.命名与编码规范
- 2.公共函数库类库使用规范
- 3.模板开发指南
- 四、插件开发指南
- 4.1什么是插件
- 4.2什么是钩子
- 4.3插件的开发流程