漏刻有时数据可视化系统开发规范(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、防火墙等安全措施

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

相关推荐
明远湖之鱼2 小时前
手把手带你实现一个 mini-claude-code
ai编程·claude·cursor
言萧凡_CookieBoty2 小时前
比 Vibe Coding 更可怕的,是 Vibe Design 吧
人工智能·ai编程
字节炼金术师4 小时前
我给国密设备写了 3 个 MCP Server,LLM 现在会当"密评工程师"了
ai编程
OpenBayes贝式计算4 小时前
教程上新丨Qwen3.6 系列首个开源模型 Agent 编程能力大涨,激活参数仅 3B 超越 Gemma4-31B
人工智能·agent·ai编程
财经资讯数据_灵砚智能4 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年4月21日
人工智能·python·信息可视化·自然语言处理·ai编程
张涛酱1074565 小时前
A2A Integration 深入解析:构建跨平台Agent通信协议
spring·agent·ai编程
三秋树5 小时前
豆包 Agent Harness 工程师入门 | 第 5 章 Skills 技能
人工智能·agent·ai编程
袋鱼不重5 小时前
Hermes Agent 直连飞书机器人
前端·后端·ai编程
甲维斯6 小时前
智谱CodingPlan老套餐绝版了,全网token收拢!
人工智能·ai编程