上一篇文章写了点关于插件开发的东西,这一次打算就插件目录,以及各自的作用做一个补充说明.凡事几天不用,隔几天再看似乎倍感亲切.
上一篇文章Fastadmin开发之插件开发 里说我们可以直接通过命令行的方式生成一个插件目录.但是这个目录是一个残缺的目录.
这是一个插件名称为mydemo的插件.如果你的插件包含数据库.你需要添加一个install.sql的文件.这个数据库文件会在安装插件的时候插入到你项目数据库中.需要注意的是需要添加__PREFIX__
表示数据库表前缀.也就是fa_.
info.ini这个文件.这个文件为插件的基本信息
config.php 为配置文件.该文件返回的是有个二维数组.具体字段配置就因人而异了.
mydemo.php是可以理解为插件的安装卸载控制器.其中包含了最基本的插件安装,插件卸载方法
public function install() { $menu = []; $config_file = ADDON_PATH . "diy" . DS . 'config' . DS . "menu.php"; if (is_file($config_file)) { $menu = include $config_file; } if ($menu) { Menu::create($menu); } return true; }
这个安装方法也是拿到了一个文件.进去读取.在我们的config目录下,需要我们手动添加一个名为menu.php文件.该文件为插件菜单.
然后剩下的public 是静态资源文件.model为模型目录,lang为语言目录.controller为控制器目录,application和public 会直接覆盖到框架文件中.
mydemo //插件标识 ├── application //此文件夹中所有文件会覆盖到根目录的/application文件夹 ├── assets //此文件夹中所有文件会复制到/public/assets/addons/blog文件夹 ├── controller //此文件夹为插件控制器目录 ├── lang //此文件夹为插件语言包目录 ├── model //此文件夹为插件模型目录 ├── public //此文件夹中所有文件会覆盖到根目录的/public文件夹 ├── view //此文件夹为插件视图目录 ├── Mydemo.php //此文件为插件核心安装卸载控制器,必需存在 ├── bootstrap.js //此文件为插件JS启动文件 ├── LICENSE //版权文件 ├── config.php //插件配置文件,我们在后台插件管理中点配置按钮时配置的文件,必需存在 ├── info.ini //插件信息文件,用于保存插件基本信息,插件开启状态等,必需存在 └── install.sql //插件数据库安装文件,此文件仅在插件安装时会进行导入
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句