创建自己的应用插件

创始人 2026-07-27 11:28:14 1 次浏览

迅睿CMS灵活的地方就是插件机制完善,在迅睿CMS的基础上开发出各种的功能的插件,例如社区互动论坛、商城购物平台、空间Zone基地等等。



迅睿CMS自带有一个示例插件,他位于dayrui/Temp/App/Myapp/

image.png

Myapp就是系统自带的一个示例插件,我们来分析一下这个示例插件的全部文件


一、插件配置目录Config

image.png

1、App.php

这是插件的信息配置文件,作用是描述这个插件的基本信息,内容如下:

 'app', // 这是固定值,表示插件
    'name' => '我的插件', // 插件的名字,中文名字,建议不超过8个汉字
    'icon' => 'fa fa-user', // icon 图标
    'author' => '天睿程序设计', // 插件的作者,不超过8个汉字

];


2、Install.sql

这个是插件安装时自动创建的sql语句,一般用来创建表,内容格式:

DROP TABLE IF EXISTS `{dbprefix}app_web_log`;
CREATE TABLE IF NOT EXISTS `{dbprefix}app_web_log` (
  `id` BIGINT(18) unsigned NOT NULL AUTO_INCREMENT,
  `time` int(10) NOT NULL,
  `domain` varchar(100) NOT NULL,
  `url` varchar(255) NOT NULL,
  `param` text NOT NULL,
  `method` varchar(20) NOT NULL,
  `ip` varchar(100) NOT NULL,
  `useragent` text NOT NULL,
  `software` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `time` (`time`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='网站访客日志';

一般用于创建表,{dbprefix}表示表的前缀


3、Menu.php

是插件的菜单,安装插件后,在后台自动创建对应的菜单

 [


        // 往已有的菜单下增加链接菜单的写法

        'app' => [
            'left' => [
                'app-plugin' => [ // 把菜单追加到[功能插件]之下
                    'link' => [
                        [
                            'name' => '我的测试应用',
                            'icon' => 'fa fa-user',
                            'uri' => 'myapp/home/index',
                        ],
                    ]
                ],
            ],
        ],

    ],

    'member' => [

        'content-module' => [// 把菜单追加到[内容管理]之下
            'link' => [
                [
                    'name' => '我的测试应用',
                    'icon' => 'fa fa-user',
                    'uri' => 'myapp/home/index',
                ],
            ],
        ],



    ],

];

上面的代码是在后台插件菜单里面增加本插件的名字、图标、链接

4、Routes.php

固定文件,直接复制就行


5、Uninstall.sql

卸载插件时执行的sql语句,一般是删除表,删除数据


6、Version.php

插件版本号


二、插件控制器目录 Controllers

image.png

1、Home.php

这是前端控制器文件

访问url是:/index.php?s=myapp&c=home&m=方法名

模板文件:/template/pc/default/home/myapp/*.html


2、Member/Home.php

这是用户中心的控制器文件

访问url是:/index.php?s=member&app=myapp&c=home&m=方法名

模板文件:/template/pc/default/member/myapp/*.html


3、Admin/Home.php

这事后台控制器文件

访问url是:/admin.php?s=myapp&c=home&m=方法名

模板参考四节


三、插件模型目录 Models

image.png

用于写数据操作的模型类

My.php是模型类文件,全局调用类方法:

\Phpcmf\Service::M('my', 'myapp')->方法名();


四、后台模板文件目录 Views

image.png

专门用于后台的模板文件,用于后台控制器的模板指定文件



热门资讯
网站安全权限划分
本教程需要具备PHP技术或者服务器运维技术人员网站安全首选需要让能通过web域名访问的目录都设置为不...
可视化模板管理/编辑模板
迅睿CMS支持在线可视化编辑模板内容,可视化代码编辑,变更模板代码等操作中文注释模板名称,方便开发者...
程序源码在线对比更新
程序源码在线对比更新功能用于检测本地核心文件与服务器新版文件的差异在对比检测中的文件强烈建议开发者不...
自定义专题系统
专题作为多篇内容的聚合页面,他可以使用自定义模块+自定义关联字段来做到,让专题页面作为独立的内容页。...
创建自己的应用插件
迅睿CMS灵活的地方就是插件机制完善,在迅睿CMS的基础上开发出各种的功能的插件,例如社区互动论坛、...
多个网站终端
什么是网站终端?传统网站可以分为电脑pc、移动端mobile两个展示界面。迅睿CMS不仅支持这两个界...
数据字典/字段介绍
迅睿CMS后台安装开发者工具插件,可以直接查看数据结构和字段介绍,非常方便开发者。开发者可以在后台进...
在线充值/付款
迅睿CMS支持微信公众号内支付、微信扫码支付、微信H5唤醒支付、微信小程序支付、支付宝扫码和Wap支...
网站备份和数据库备份
迅睿CMS自带网站文件备份和数据库表备份功能1、防止在部分运行环境下备份函数兼容问题。2、数据存放格...
附件分离云存储
迅睿CMS文件存储可以分为本地和远程方式,可以在附件设置中去配置各种存储策略。图片缩略图可单独设置缓...