### **在 ThinkPHP6.0 开发规范的基础上,请遵循 以下准则**
#
### **一.命名规范**
**1. 模块/插件 命名保持唯一性 (命名必须遵循: 开发者标识+字母/下划线/数字),禁止使用以下字符串命名:**
'app', 'cache', 'cookie', 'database', 'filesystem', 'lang', 'log', 'middleware', 'route', 'session', 'trace', 'view', 'hi','base',
'system','upload'
#
**2. 模块/插件 的theme目录 下禁止使用 'mobile, default' 命名;**
#
**3. 模块/插件 前端控制器(home目录内)禁止使用 'Api.php' 命名 ;**
#
**4.独立session配置:**
模块或插件的独立session配置 前缀必须遵循: 开发者标识+下划线+m/p+下划线+模块/插件名
举例: 某个开发者的标识为 hi, 他所拥有的 hicms模块 和 sms插件 都用了独立session,那么它们的配置前缀命名是这样的 hi_m_hicms , hi_p_sms
#
**5. 卸载模块和插件时,请自觉清除自定义的缓存数据**
提示: 我们可以 在模块或插件的安装卸载文件 前置后置操作 里面清除缓存数据
#
**6. 模块/插件 配置变量禁止使用以下的字符命名, 以避免与系统预加载的变量冲突:**
“version, ...”
#
**7. 缓存使用,应用[模块/插件]全局(指单个应用范围)缓存标签, 建议使用如下格式命名:**
m_模块名, p_插件名
#
**8. 使用了官方构建器,方法命名请勿与以下方法冲突:**
~~~
annexBefore(); annexAfter(); annexGet();
~~~
**9. 应用配置变量命名:**
(1) ‘应用名’+_mobile_theme_only 是开启 “在pc端无主题模板情况下, 手机端主题模板被优先使用” 的变量名
#
#
### **二. 数据规范**
**1. 应用/sql/install.sql**
可为空的字段,请设置默认值且不能为null, 举例如下 "intro,views" 字段
(导致问题: 使用系统备份数据后, 恢复时报错)
~~~
CREATE TABLE `pre_article` (
`id` INT UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
`title` VARCHAR(60) NOT NULL,
`intro` VARCHAR(500) DEFAULT '',
`views` INT(10) UNSIGNED DEFAULT 0
...
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='文章表';
~~~
#
#
### **三. SDK规范**
**1. 使用第三方sdk**
开发者在开发需要上传HiPHP应用中心的应用时,使用第三方接口时,在第三方**官方**提供了SDK的composer安装前提下,必须使用composer安装**官方**的SDK .
理由:官方sdk更优秀; 接口升级更方便; 不同开发者开发应用可共用sdk,提高代码复用...
举例: 如 使用腾讯的cos 服务,我们在项目的根目录 下执行
```
composer require qcloud/cos-sdk-v5
```