浅析PHP开发规范
程序员文章站
2022-07-04 21:34:09
基本约定
源文件
代码使用
文件格式必须是无bom utf-8格式
一个文件只声明一种类型,...
基本约定
源文件
代码使用<?php开头,忽略闭合标签?>
文件格式必须是无bom utf-8格式
一个文件只声明一种类型,如class和interface不能混写在一个源文件中
缩进
使用4个空格来缩进,ide可以设置
行长度
每行120个字符
关键字
所有关键字均为小写,如true、false
命名
类名为大驼峰法,如usermodel
类方法名为小驼峰法,如getuserid()
函数使用小写字母加_组合,如get_cookie()
变量名使用小驼峰法,如$userid
常量定义为大写字母加_组合,如is_debug
代码注释标签
类文件中对类、方法、属性进行注释,使用@param @return @throwns
@param注释写出详解,如@param string $username 用户名
业务模块
路由为小写字母加_组成,如/api/get_user_info
view层负责数据展示
controller层负责输入参数校验,最外层捕捉异常,调用logic和view视图层
logic层负责具体业务逻辑,调用model层,返回处理数据
model层负责数据表查询和关联关系
异常类需分清功能,如paramexception表示参数错误,userexception表示自定义异常
异常需分类定义code,使用php类常量代替,如
<?php namespace app\exceptions\codes; class userexceptioncode extends baseexceptioncode { const no_auth = 1000001; const no_auth_msg = '不具有权限'; const status_exception = 1000002; const status_exception_msg = '状态异常'; }
数据表文件如有enum类型,使用php类常量代替,如
<?php namespace app\enums; class userenum extends baseenum { const status_deleted = -1;// 已删除 const status_disable = 0;// 禁用 const status_enable = 1;// 正常 const auth_guest = 1;// 匿名用户 const auth_general_admin = 2;// 普通管理员 const auth_super_admin = 3;// 超级管理员 }
其中status和auth为数据表映射字段名
api接口输出,示例
{ "code" : 0, "msg" : "success", "data" : { "userid" : 100 } }
其中code与msg为必填字段,data为空的情况下不填,示例
{ "code" : 100001, "msg" : "不具有权限" }
其它
数组,键为字符串时候使用单引号,只有一个键时候使用单行,示例
$arr = [ 'userid' => 100 ];
多个键时候使用多行,示例
$arr = [ 'id' => 100, 'username' => 'admin', ];
字符串使用单引号'