# php-laravel-template **Repository Path**: QuShui/php-laravel-template ## Basic Information - **Project Name**: php-laravel-template - **Description**: 这是一个简单的商城接口。重构自litemall商城。 - **Primary Language**: PHP - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-16 - **Last Updated**: 2024-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 代码格式化 - 代码的格式,选择Laravel风格 - 代码提交前一定要经过格式化+优化导入 #### 编码设计规范 - 短函数,单函数不超过80行,最好40行以内,一个函数做好一件事,有明确的输入输出 - 有意义的函数命名,动宾结构,加上必要的函数注释 - 常量,所有字母都必须大写,词间以下划线分割,比如"API_VERSION" - 属性,小写开头的驼峰式,比如"$adminUser" - 类函数,小写开头驼峰命名规范,比如"getUser" - 不允许使用拼音命名,除非专有名词,比如人民币yuan - 尽可能使用已有的开源组件,不自己造轮子 - 路由规范,保留原项目的规范,使用具体的接口语义,只使用get和post,查询接口get,写接口post。 - 异常情况需要记录错误日志,以方便排查 - 响应格式规范化 ```php Content-Type:application/json;charset=UTF-8 { body } ``` > body的json内容:1.正常情况 ```php { errno:xxx, errmsg:xxx, data:{} } ``` > body的json内容:2.失败情况 ```php { errno:xxx, errmsg:xxx, } ``` #### 数据库规范 - 表名、字段名全部小写,下划线分隔单词,见名知意 - 表设计默认情况存在id,add_time,update_time,delete 四个字段 - 不适用储存过程、视图、触发器、Event > 数据库只做它擅长的储存,计算应该交给服务层 - 禁止使用外键,如果有外键完整性约束,需要程序自行控制 > 外键会导致表与表之间耦合,影响sql性能 - 禁止使用ENUM,可使用TINYINT代替 - 数据库的相关操作一定不能用原生sql,要使用查询构造器进行语句的构建