多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 命名规则 > 1. 控制器文件名称以 首字母大写格式创建文件 `如果存在多个单词也一样`,按照文件整个名称为单位。如 [ **Admin.php** 、**Adminuser.php** 、**Userorder.php ** 、 **User.php** ] > 2. css/js 以后端控制器文件名称命名`全小写`,具体到方法如 [ 控制器名称.方法名称.css | js ] [ **admin.css** 、**admin.index.css**、**userorder.js**、**user.js** ] ### 插件目录结构 > 插件唯一标识符示例名称 `test_plugins` #### 控制位置 ``` application/plugins/test_plugins/ admin 后台管理控制器 Admin.php 插件管理入口控制器(必须) index 前端控制器 Index.php 前端插件入口文件(非必须) api API控制器 form 动态表格目录(可以不分组、可以直接存放文件) admin 后端动态表格 index 前端动态表格 service 服务层(可选) Hook.php 钩子文件 Event.php 事件回调文件 config.json 配置文件 install.sql 安装 sql 语句 uninstall.sql 卸载 sql 语句 update.sql 插件版本更新 sql 语句(更新插件的时候执行) ``` 如果插件处理的业务较多,建议在` application/plugins/test_plugins/` 下增加 `service` 服务层处理核心业务,控制层仅处理逻辑。 ##### 回调事件 Event.php、定义以下方法即可,当插件发生以下情况会回调(仅2.0+版本支持) > Upload 上传 Install 安装 Uninstall 卸载 Download 下载 Delete 删除 Upgrade 更新 #### 视图位置 ``` application/plugins/view/test_plugins/ admin 后台管理控制器对应的视图 admin 控制器名称 小写 index.html 控制器中的 index 方法 saveinfo.html 控制器中的 saveinfo 方法 index 前端控制器对应的视图 index 控制器名称 小写 index.html 控制器中的 index 方法 ``` #### css/js 位置 > 1. 按照这个规则命名、系统会自动引入相应的 css/js 文件 2. 如定义了方法 css/js 则不再引入对应控制器的 css/js ``` public/static/plugins/css/test_plugins/ admin 后台管理 css 文件存放目录 common.css 公共的 css 文件、加载插件都会自动加载这个文件,在控制器 css 前面、两者不冲突 admin.css 后台 Admin.php 控制器对应的 css 文件 admin.index.css 后台 Admin.php 控制器 中 Index 方法对应的 css 文件 admin.saveinfo.css 后台 Admin.php 控制器 中 SaveInfo 方法对应的 css 文件 index 后台管理 css 文件存放目录 common.css 公共的 css 文件、加载插件都会自动加载这个文件,在控制器 css 前面、两者不冲突 index.css 后台 Admin.php 控制器对应的 css 文件 index.index.css 后台 Admin.php 控制器 中 Index 方法对应的 css 文件 index.saveinfo.css 后台 Admin.php 控制器 中 SaveInfo 方法对应的 css 文件 ``` ``` public/static/plugins/js/test_plugins/ admin 后台管理 js 文件存放目录 common.js 公共的 js 文件、加载插件都会自动加载这个文件,在控制器 js 前面、两者不冲突 admin.js 后台 Admin.php 控制器对应的 js 文件 admin.index.js 后台 Admin.php 控制器 中 Index 方法对应的 js 文件 admin.saveinfo.js 后台 Admin.php 控制器 中 SaveInfo 方法对应的 js 文件 index 后台管理 js 文件存放目录 common.js 公共的 js 文件、加载插件都会自动加载这个文件,在控制器 js 前面、两者不冲突 index.js 后台 Admin.php 控制器对应的 js 文件 index.index.js 后台 Admin.php 控制器 中 Index 方法对应的 js 文件 index.saveinfo.js 后台 Admin.php 控制器 中 SaveInfo 方法对应的 js 文件 ``` #### 图片位置 > 图片层无强制目录区分、如果图片较多的插件建议前后端/控制器区分、方便管理 ``` public/static/plugins/images/test_plugins/ ``` #### 附件位置 > 1. 附件为系统自动创建,位于 upload 目录下以 plugins_加当前插件唯一标识符命名 2. 如编辑器中上传的文件,或者使用公共的附件上传组件上传的文件都存储在这里 ``` public/static/upload/images/plugins_test_plugins/ 图片附件 public/static/upload/file/plugins_test_plugins/ 文件附件 public/static/upload/video/plugins_test_plugins/ 视频附件 ```