一、插件类作品

插件机制可以实现对CMS的多元化开发

对CMS创建的模块机制进行改变、组装、重写
开发独立的项目程序应用
把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现
以一种很松的方式耦合,两者在保持接口不变的情况下,可以独立变化和发布
它能满足不同用户按需开发自己的功能

开发规范必须按照插件的格式,参考myapp的demo源码,也可以参考官方版的一些列插件


程序目录结构要求

安装程序必须满足以下目录布局

/WEBPATH/* 相对于网站主目录(会自动识别public目录)
/CSSPATH/* 相对于风格static目录
/APPSPATH/* 相对于插件dayrui/App目录
/TPLPATH/* 相对于模板目录,针对独立设计的模板,即使站长改变了默认模板名称,本目录也会自动识别
/FCPATH/* 相对于dayrui目录
/MYPATH/* 相对于dayrui/My/目录
/WRITEPATH/* 相对于cache缓存目录
/APPSPATH/* 相对于dayrui/App/目录
/CONFIGPATH/* 相对于config目录

/目录常量/* 将对于的文件归类到这些目录常量文件夹之中,即使是开发者修改了系统目录,当在线安装时程序也能识别对应的自定义目录


程序打包方法

将以上目录格式压缩成zip文件即可,一定要以当前目录为最高层次。


示例打包文件

Myapp.zip

开发上传插件必须按照此压缩包的文件格式来上传zip包。


插件目录命名规范:

/dayrui/App/插件目录
目录建议加上前缀字母,比如你的插件是news目录,那么你需要加几个前缀字母,以免跟其他插件重名,
例如你可以改成:CCnews、Snews、Anews等等


插件数据库表的命名规范:

数据表建议加上前缀字母,比如你的表叫dr_news,那么你需要加几个前缀字母,以免跟其他插件重名,
例如你可以改成:dr_cc_news、dr_aa_news、dr_xxx_news等等


自动执行安装插件的配置文件

/Install.php

内容格式:

<?php
// 引导自动安装程序
return [
 
 'type' => 'app',
 'name' => '插件目录名称',
  
];


/Run.php 自动运行脚本,用于安装插件后的运行程序,比如创建数据表,创建数据等

内容格式:

<?php
// 自动安装程序运行脚本

// 这里写针对控制器中的php语法

当开发者配置完成后,在应用市场下载插件后,可以进行自动安装


/Check.php 安装前的检测工作,判断当前环境是否满足安装

内容格式:

<?php
// 安装前的检测

// 这里写针对控制器中的php语法
// 不能安装的写法:$this->_json(0, '当前环境无法安装本插件');



二、组件类作品

系统的某些功能、自定义字段、自定义方法或函数体等无规范性的程序。


程序目录结构要求

安装程序必须满足以下目录布局

/WEBPATH/* 相对于网站主目录
/CSSPATH/* 相对于风格static目录
/APPSPATH/* 相对于插件dayrui/App目录
/TPLPATH/* 相对于模板目录,针对独立设计的模板,即使站长改变了默认模板名称,本目录也会自动识别
/FCPATH/* 相对于dayrui目录
/MYPATH/* 相对于dayrui/My/目录
/WRITEPATH/* 相对于cache缓存目录
/APPSPATH/* 相对于dayrui/App/目录
....


/目录常量/* 将对于的文件归类到这些目录常量文件夹之中,目录常量参考文档


程序打包方法

将以上目录格式压缩成zip文件即可,一定要以当前目录为最高层次。

格式参考(一)中的插件打包示例格式。


三、模板类作品

需要附加安装方法和数据库文件

/WEBPATH/* 相对于网站主目录
/CSSPATH/* 相对于风格static目录
/APPSPATH/* 相对于插件dayrui/App目录
/TPLPATH/* 相对于模板目录,针对独立设计的模板,即使站长改变了默认模板名称,本目录也会自动识别
/FCPATH/* 相对于dayrui目录
/MYPATH/* 相对于dayrui/My/目录
/WRITEPATH/* 相对于cache缓存目录
/APPSPATH/* 相对于dayrui/App/目录
....


自动执行安装模板配置文件

/Install.php

内容格式:

<?php
// 引导自动安装程序
return [
 
 'type' => 'tpl',
 'name' => '模板目录名称',
  
];


/Run.php 自动运行脚本,用于安装模板后的运行程序,比如创建数据表,创建数据等

内容格式:

<?php
// 自动安装程序运行脚本

// 这里写针对控制器中的php语法
$prefix = \Phpcmf\Service::M()->prefix; // 表前缀
// \Phpcmf\Service::M()->query_all('数据更新sql语句');  // 数据前缀用通配符{dbprefix}

当开发者配置完成后,在应用市场下载模板后,可以进行自动安装:

image.png

/Check.php 安装前的检测工作,判断当前环境是否满足安装

内容格式:

<?php
// 安装前的检测

// 这里写针对控制器中的php语法
// 不能安装的写法:$this->_json(0, '当前环境无法安装本模板');


示例打包文件

模板示例结构.zip

开发上传模板必须按照此压缩包的文件格式来上传zip包。



文档最后更新时间:2023-04-18 00:29:11
我来修改此文档(2) 不会操作怎么办?