上一篇文章写了点关于插件开发的东西,这一次打算就插件目录,以及各自的作用做一个补充说明.凡事几天不用,隔几天再看似乎倍感亲切.
上一篇文章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 //插件数据库安装文件,此文件仅在插件安装时会进行导入