后端代码规范
## 环境要求
版本控制使用git版本控制协议
所有开发者使用source tree客户端 或 Git DIE
git服务器使用git.oschina.com的版本控制服务
数据服务器同样使用ssh和git命令同步代码(禁止FTP操作)
Server:Nginx 1.18.0
mysql版本:MySQL 5.7.31
php版本:PHP >= 7.2
接口层:JSON
生产环境:[http://xxx.xxx.com](http://xxx.xxx.com)
测试环境(以test开始):[http://test.xxx.xxx.com](http://test.xxx.xxx.com)
本地开发环境(以dev开始):[http://dev.xxx.xxx.com](http://dev.xxx.xxx.com)
### 命名规范
* 每个 PHP 文件的头部都应该有注释,注释必须列出文件名称、 作者、相关链接、版权,修改者,修改时间。
](../images/screenshot_1624263403061.png)
* 类的属性必须要有注释,包含属性名称、属性类型。

* 对于具体含义的变量、常量,如果其命名不是充分自注 释的,在声明时必须加以注释,说明其具体含义。
### 目录和文件
* 目录使用小写
* 类库、函数文件统一以`.php`为后缀
* 一个类里面方法不要太多
### 工具包
* 常用方法使用工具包进行管理
* 工具包类尽量为独立单元
* 工具包使用设计模式

### 控制器
* 接口开发只进行逻辑层或服务层调用,返回json数据

### 逻辑层
* 进入输入数据校验处理
* 多个服务层数据调用,执行过程

### 服务层
* 代码最小功能单元,独立存在
* 返回数组,格式如下
* 必须有输入数据,可以默认为空数据
* 服务层继承
* 一个类文件 最多写10个方法function,如果超了,就在当前目录下创建子同类的子目录,进行服务拆分
* 在服务层调用数据模型类

### 数据模型
* 数据表名和当前模型类名一致,采用驼峰法命名,并且首字母大写
### 数据表和字段
* 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 `think_user` 表和 `user_name`字段,不建议使用驼峰和中文作为数据表字段命名。
* sql函数和从句注意使用场景,尽量减少使用,可以使用orm代替
- markdown
- 前端技术
- fiddler抓包
- thingjs项目设计
- 目录结构
- thingjs 模型
- 开发规范
- thingjs引入vuejs
- uniapp性能优化
- 防抖与节流
- uniapp 使用高德地图做路径规划不生效解决方法
- 5个CSS编程坏习惯
- echarts 刮刮乐
- jquery轮播图
- uniapp滚动问题
- 5 个不常提及的 HTML 技巧
- Http 缓存简介
- canvas像素操作
- Chrome 调试技巧
- H5隐藏特性
- vue 实战中的一些小技巧
- vue-video-player组件
- JS循环大总结
- vue自定义指令1
- 剩余运算符,扩展运算符(...)用法
- 后端技术
- 面向对象
- linux
- docker
- centos
- CentOS7安装MySQL
- CentOS7安装php
- 阿里云
- 添加宝塔
- 添加子域名
- ssl证书部署
- Liunx常用的命令
- php
- 项目常见问题总结
- 开发规范
- 9个PHP小技巧
- php生成二维码
- 算法
- 经纬度计算距离
- Kmp算法
- mysql
- 索引
- 索引概述及优势
- 索引结构
- 事务
- mysql 数据库任务计划
- 接口
- RESTful API接口设计标准及规范
- 保证接口的安全
- 了解DOS/DDOS/CSRF/XSS攻击
- 防止攻击
- mongoDB
- 安装
- Docker 安装 MongoDB
- 安装扩展
- docker安装mongodb扩展
- supervisor
- 自动化开发
- 接口字典代码配置
- 建模
- three模型展示
- 应用市场
- 应用宝上架流程
- vivo上架流程
- 华为上架流程
- 小米上架流程
- android 获取应用签名
- git部分
- git 基本操作命令
- git解决冲突
- 打包那些事
- electron
- android系统进程保活
