前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >fastadmin插件开发之插件目录

fastadmin插件开发之插件目录

作者头像
桑先生
发布2020-07-20 23:20:23
2.1K0
发布2020-07-20 23:20:23
举报
文章被收录于专栏:桑先生的专栏桑先生的专栏

上一篇文章写了点关于插件开发的东西,这一次打算就插件目录,以及各自的作用做一个补充说明.凡事几天不用,隔几天再看似乎倍感亲切.

上一篇文章Fastadmin开发之插件开发 里说我们可以直接通过命令行的方式生成一个插件目录.但是这个目录是一个残缺的目录.

这是一个插件名称为mydemo的插件.如果你的插件包含数据库.你需要添加一个install.sql的文件.这个数据库文件会在安装插件的时候插入到你项目数据库中.需要注意的是需要添加__PREFIX__表示数据库表前缀.也就是fa_.

info.ini这个文件.这个文件为插件的基本信息

config.php 为配置文件.该文件返回的是有个二维数组.具体字段配置就因人而异了.

mydemo.php是可以理解为插件的安装卸载控制器.其中包含了最基本的插件安装,插件卸载方法

代码语言:javascript
复制
 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 会直接覆盖到框架文件中.

代码语言:javascript
复制
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    //插件数据库安装文件,此文件仅在插件安装时会进行导入
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档