漏刻有时数据可视化系统开发规范(TRAE插件AI编程助手的使用)

漏刻有时数据可视化系统开发规范

1. 项目结构

项目采用MVC架构,主要目录结构如下:

复制代码
├── api/             # API接口目录
├── app/             # 前端应用
│   ├── controller/  # 控制器
│   ├── model/       # 模型
│   ├── view/        # 视图
│   ├── base.php     # 基础配置
│   ├── index.php    # 入口文件
│   └── perm.php     # 权限管理
├── butler/          # 后台管理系统
│   ├── controller/  # 控制器
│   ├── model/       # 模型
│   ├── view/        # 视图
│   ├── base.php     # 基础配置
│   ├── index.php    # 入口文件
│   └── perm.php     # 权限管理
├── conf/            # 配置文件目录
│   ├── common.php   # 公共函数
│   ├── config.php   # 系统配置
│   ├── config.sys.php # 系统参数配置
│   ├── dbc.php      # 数据库连接
│   └── lockdata.mysql.php # 数据库操作类
├── admin.php        # 后台入口
├── app.php          # 前端入口
└── butler.php       # 后台入口

2. 编码规范

2.1 文件头部注释

所有PHP文件必须包含统一的头部注释模板:

php 复制代码
<?php
if (!defined('LOCK_PATH')) exit('Access Denied');

2.2 命名规范

  • 控制器类名 :使用大驼峰命名法,如 LoginArticle
  • 方法名 :使用小驼峰命名法,如 loginInloginPwd
  • 变量名 :使用小驼峰命名法,如 $userInfo$user_phone
  • 常量 :使用大写字母和下划线,如 LOCK_PATHAPP
  • 数据库表名 :使用小写字母和下划线,如 userarticle
  • 字段名 :使用小写字母和下划线,如 user_iduser_name
  • 文件名
    • 控制器文件:使用大驼峰命名法,如 Login.php
    • 模型文件:使用小写字母和下划线,如 login.php
    • 视图文件:使用小写字母和下划线,如 login_pwd.html

2.3 代码风格

  • 缩进:使用4个空格进行缩进
  • 大括号:使用K&R风格,即左大括号与语句在同一行
  • 行长度:每行代码长度不超过120个字符
  • 空行:在逻辑块之间使用空行分隔
  • 注释
    • 使用//进行单行注释
    • 重要逻辑添加详细注释
    • 函数和方法添加文档注释

2.4 语法规范

  • PHP版本:兼容PHP 5.6及以上版本
  • 短标签 :使用<?php ?>而非<? ?>
  • 错误控制 :使用die()函数直接输出错误信息
  • 数组语法 :使用array()[]语法定义数组
  • 字符串连接 :使用.运算符连接字符串
  • 版本兼容性
    • PHP 5.6:使用isset()条件判断替代空合并运算符??
    • PHP 7.0+:可以使用空合并运算符??简化代码

3. 技术栈

  • 后端:PHP 5.6+
  • 模板引擎:Smarty
  • 数据库:MySQL
  • 会话管理:PHP session
  • 加密解密
    • 自定义加密函数(lockDecryptAuthCode
    • openssl 扩展(用于安全加密)
  • Cookie管理setcookie()函数
  • HTTP请求curl 扩展

4. 安全规范

  • 输入验证:对所有用户输入进行严格验证
  • SQL注入防护
    • 使用参数化查询
    • 使用addslashes()函数进行字符转义
    • 使用strescape()方法进行安全处理
  • 密码加密 :使用md5()函数加密密码
  • 会话安全
    • 使用session和token进行验证
    • 生成随机密钥(generateCode()
  • Cookie安全
    • 设置httpshttponly属性
    • 使用加密存储敏感信息
  • 权限控制
    • 通过perm.php文件进行权限管理
    • 使用checkAdminAuth()checkUserStudyAuth()函数进行权限检查
    • 使用permAuth()函数防止越权操作
  • 操作日志 :使用addlogs()函数记录重要操作
  • XSS防护 :使用get_str()函数过滤特殊字符
  • 文件上传安全 :使用checkHex()函数检测恶意代码

5. 开发流程

  1. 控制器:负责接收请求,调用模型处理数据,渲染视图
  2. 模型:负责数据处理,包括数据库操作、业务逻辑等
  3. 视图:负责页面展示,使用Smarty模板引擎

5.1 控制器开发规范

  • 控制器类名与文件名保持一致
  • 方法名使用小驼峰命名法
  • 控制器方法应该简洁,主要负责调用模型和渲染视图
  • 使用$tpl->assign()传递变量到视图
  • 使用$tpl->display()渲染视图

5.2 模型开发规范

  • 模型文件使用小写字母和下划线命名
  • 使用switch语句处理不同的操作类型
  • 使用$db对象进行数据库操作
  • 返回JSON格式数据时使用json_encode_lockdata()函数
  • 记录操作日志使用addlogs()函数
  • 页面跳转使用redirect()函数

5.3 视图开发规范

  • 视图文件使用小写字母和下划线命名,以.html为扩展名
  • 使用Smarty模板语法
  • 保持HTML结构清晰
  • 使用CSS类名和ID命名规范

6. 数据库操作规范

使用封装的数据库操作方法:

  • 查询单条数据$db->fetch($table, $field, $condition, $sort)
  • 查询多条数据$db->fetchall($table, $field, $condition, $sort, $limit)
  • 插入数据$db->insert($table, $array)
  • 更新数据$db->update($table, $array, $condition)
  • 删除数据$db->delete($table, $condition)
  • 获取记录数$db->rowcount($table, $condition)
  • 执行SQL$db->query($sql)$db->exec($sql)

7. 公共函数规范

项目提供了丰富的公共函数,主要包括:

  • 数据处理

    • json_encode_lockdata():JSON编码(支持中文)
    • AuthCode():加密解密
    • safe_replace():安全过滤
    • get_param():获取请求参数
    • get_str():XSS防护
    • limitWord():字符串截取
    • htmtocode()codetohtml():HTML转换
  • 安全相关

    • checkHex():检测恶意代码
    • getip():获取客户端IP
    • encodeId():ID加密
    • permAuth():权限验证
    • LockDecrypt():后端解密
  • 业务逻辑

    • getAdminTitle():获取管理员标题
    • getBirthday():根据身份证获取生日
    • getGender():性别转换
    • getActLine():线上线下情况
    • getSignType():报名类型
    • getPayStatus():支付状态
    • getVerify():审核状态
    • departAuditStatus():单位审核状态
  • 工具函数

    • redirect():页面跳转
    • addlogs():记录操作日志
    • addMessage():系统短信
    • getPages():分页
    • unzip():解压缩
    • create_in():拼接IN语句
    • joinString():拼接字符串
    • write_file():写入文件

8. 响应格式

API接口返回JSON格式数据:

json 复制代码
{
    "code": 1, // 1表示成功,0表示失败
    "msg": "操作成功" // 提示信息
}

9. 错误处理

  • 系统错误 :直接使用die()函数输出错误信息
  • 业务错误:返回JSON格式错误信息
  • 权限错误 :使用redirect()函数跳转到提示页面
  • 操作日志:记录所有重要操作和错误信息

10. 版本兼容性

  • PHP 5.6

    • 使用isset()条件判断替代空合并运算符??
    • 使用json_encode()配合正则处理中文字符
    • 不使用PHP 7.0+特有的语法特性
  • PHP 7.0+

    • 可以使用空合并运算符??简化代码
    • 可以使用json_encode()JSON_UNESCAPED_UNICODE参数

11. 开发工具和环境

  • 开发环境:PHPStudy Pro
  • 数据库:MySQL
  • 编辑器:支持PHP语法高亮的编辑器
  • 调试工具:浏览器开发者工具、PHP错误日志

12. 代码审查和测试

  • 代码审查

    • 检查命名规范
    • 检查安全漏洞
    • 检查代码风格
    • 检查逻辑错误
  • 测试

    • 功能测试
    • 安全测试
    • 性能测试
    • 兼容性测试

13. 部署规范

  • 文件权限:确保配置文件权限正确
  • 环境配置:确保PHP版本和扩展满足要求
  • 数据库配置:确保数据库连接信息正确
  • 安全配置:配置HTTPS、防火墙等安全措施

通过遵循以上开发规范,可以保证代码的一致性、可维护性和安全性,提高开发效率和代码质量。

相关推荐
刀法如飞21 小时前
Ontology本体论是什么数据结构?Palantir 技术原理介绍
数据结构·人工智能·ai编程·图论
毅航1 天前
AI真能取代程序员?
程序员·ai编程
2601_957780841 天前
Claude Code 2026年最新部署指南:从环境搭建到技能扩展
前端·人工智能·ai编程·claude
dhashdoia1 天前
2026年GPT-5.5国内无障碍使用指南:星链4SAPI全链路部署
人工智能·gpt·ai作画·ai编程
向量引擎1 天前
向量引擎、deepseek v4、GPT Image 2、api key:Agent 热潮下,AI 应用真正卷的是“调度能力
人工智能·gpt·aigc·ai编程·ai写作·agi·api调用
财经资讯数据_灵砚智能1 天前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月12日
人工智能·python·信息可视化·自然语言处理·ai编程
Awu12271 天前
⚡精通Claude第9课-高级功能:Planning Mode、Auto Mode 与自动化工作流
aigc·ai编程·claude
可夫小子1 天前
不用付费,不用中转站:NVIDIA 官方免费 API 完整教程
api·ai编程·nvidia
peterfei1 天前
AI 编辑器 IfAI v0.4.8 发布:自主会话能力 10 倍跃升
ai编程