命名规则

  1. 控制器文件名称以 首字母大写格式创建文件 如果存在多个单词也一样,按照文件整个名称为单位。如 [ Admin.phpAdminuser.phpUserorder.php ** 、 **User.php ]
  1. css/js 以后端控制器文件名称命名全小写,具体到方法如 [ 控制器名称.方法名称.css | js ] [ admin.cssadmin.index.cssuserorder.jsuser.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/        视频附件
最后编辑: Devil  文档更新时间: 2021-04-30 10:26   作者:Devil