PHP开发内部规范,欢迎提出优化建议

一、PHP注意事项

  • 1、URL请求地址采用”-“分割。(已执行,部分人未按标准执行)
  • 2、方法名采用驼峰法。(已执行,部分人未按标准执行)
  • 3、参数必须小写和下划线分割,严禁使用驼峰或者其它格式,且提交参数与返回字段名一致。 (已执行,部分人未按标准执行)
  • 4、获取数据采用GET, 添加,修改必须POST 。(已执行,部分人未按标准执行)
  • 5、API返回格式必须调用jsonResult基础方法。(已执行)
    6、错误码必须调用ErrCode,不能直接写错误码数字。(已执行)
  • 7、分页采用框架自带的, 自建二维数组必须[‘data’ => $arr], 分页条目必须使用limit参数。(已执行)
  • 8、接口返回备注信息(msg),必须写在config.msg文件。(新增)
  • 9、redis的key必须写在config.redis_key文件。(已执行,部分人未按标准执行)
  • 10、composer安装新依赖必须写doc/composer.txt文件中,并说明用途。(已执行)
  • 11、新增定时任务,进程必须写doc/crontab.txt文件中,并说明用途。(已执行)
  • 12、redis必须有设置过期时间。否则存mysql,再缓存(新增)
  • 13、model名字与表名一致(如:表q_user MODEL:QUser )
  • 14、请求外网地址,必须设置请求时长2s
  • 15、redis不存储长期数据, 只用于缓存和临时数据存储(后期转移非常容易导致数据丢失)

二、mysql注意事项
新增表(负责人:刘军)

  • 1、字符集utf8mb4 排序规范utf8mb4_unicode_ci(已执行,部分人未按标准执行)
  • 2、数据库字段必须小写+下划线(已执行,部分人未按标准执行)
  • 3、新表字段必须有status,created_at,updated_at(关联表经常漏掉三个字段)
  • 4、status状态必须1启用, 0禁用
  • 5、尽量不使用NULL
    查询
  • 1、查询sql字段必须加上表名(线上已出现过问题)
  • 2、严禁使用*号查询
  • 3、sql语句必须写model,不能写在控制器
    更新、插入、删除
  • 1、更新、插入、删除多条数据,非日志类型必须“采用事务”(保证一致性)

三、YAPI文档注意事项

  • 1、字段说明必须与产品文档保持一致(前端反馈核对字段不清晰)
  • 2、迭代版本接口需新增版本目录 (防止混乱)
  • 3、接口有变更,必须同步更新接口文档

四、合并分支事项

  • 1、必须以master创建分支开发,且带上自己的名字(origin/hotfix/huang/slowOpt)
  • 2、发布至master,必须先合master到开发分支
  • 3、“测试分支”禁止合并到“开发分支”
  • 4、“预发布分支”禁止合并到“开发分支”
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 2年前 自动加精
讨论数量: 33
chowjiawei

规范和我现在差不多 挺不错的,不同公司 有几个不一样的 要看你们的项目

2年前 评论
huangYX (楼主) 2年前
chowjiawei

四、合并分支事项

1、必须以 master 创建分支开发,且带上自己的名字(origin/hotfix/huang/slowOpt) 2、发布至 master,必须先合 master 到开发分支 3、“测试分支” 禁止合并到 “开发分支” 4、“预发布分支” 禁止合并到 “开发分支”

这4点其实就是1点,代码要用master的

其实 正常来说 master为稳定版本,develop为开发版本,成员用自己的分支,应该从develop拉取,合并至develop,经过测试后,合入master打版本

2年前 评论
huangYX (楼主) 2年前
chowjiawei (作者) 2年前
huangYX (楼主) 2年前
chowjiawei (作者) 2年前
huangYX (楼主) 2年前
chowjiawei (作者) 2年前
huangYX (楼主) 2年前
chowjiawei (作者) 2年前
PwordC 2年前

主题内容好像带了你们公司的负责人

要强壮的规范的话用大公司的就行,再加上些公司自己的

2年前 评论
huangYX (楼主) 2年前

错误码怎么统一规范和响应给前端的

2年前 评论
huangYX (楼主) 2年前
PwordC 2年前

必须遵守 php8 语法规范确定好变量的类型返回类型参数,文档也必须要求按照论文格式书写。

2年前 评论
chowjiawei 2年前
huangYX (楼主) 2年前

任何接收的数据,必须验证

2年前 评论

新表字段必须有 status,created_at,updated_at 且created_at,updated_at 字段必须加上索引

2年前 评论
景色铅华 2年前
秋枫2020 (作者) 2年前

代码规范直接遵循:psr-1 地址:www.php-fig.org/psr/psr-1/ 本站也有翻译版:PSR-1 基础编码规范

2年前 评论

这么硬的么。直接把内部规范给发上来了

2年前 评论

代码你直接遵守psr规范多好

2年前 评论
huangYX (楼主) 2年前

API 返回格式必须调用 jsonResult 基础方法。 这个为什么要开发每次手动调,不能二次封装好么

2年前 评论

表名必须以 tab_ 为前缀

2年前 评论

单行不超过 120 字符

2年前 评论

redis key 的命名规范

2年前 评论

function 注释必须注明函数返回值类型

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!