🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
插件是用于扩展系统的功能的一些独立“组件”。 ## 功能定义 插件的定位是用于实现某些简单的显示及数据处理的功能扩展。所以我们的初衷是插件的开启关闭,不会影响原有数据。 为了管理的方便,我们在后台给插件默认提供了插件列表页,钩子列表,以及配置插件、快速创建插件结构、安装、卸载、启用停用、插件后台页面,方便大家定义管理插件相关的数据。 ## 物理定义 位于站点根目录 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 * 数据卸载文件 目前仅介绍一下目录结构,在插件开发中将讲解每个文件如何定义。