命名规范
目录和文件
- 类库、函数文件统一以.php 为后缀。
- 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致。
- 类(包含接口和 Trait)文件采用大驼峰法命名
MyFile.php
,其它文件采用小写+下划线名my_file.ini
; - 类名(包括接口和 Trait)和文件名保持一致,统一采用大驼峰法命名(首字母大写)
MyFile
;
类和接口命名
- 类的的命名使用大驼峰法(首字母大写),例如:
Cards、Index
; - 方法的命名使用
m
+前缀
+小驼峰法(首字母小写),例如:mStringGetIP
; - 属性的命名使用
attr
+前缀
+大驼峰法(首字母小写),例如:attrGReqTime、attrGReqIp
; - 特例:以双下划线
__
打头的函数或方法作为魔术方法,例如:__call
和__autoload
;
变量和函数命名
- 变量的命名使用小驼峰
前缀
+下划线_
+大驼峰简意(首字母小写),例如:lDef_Result、tDef_AdminListMax
- 函数的命名使用
f
+前缀
+大驼峰简意(首字母小写),例如:fArrayGetChartData
常量和配置
- 常量以大写字母和下划线命名,例如
APP_PATH
; - 配置参数以小写字母和下划线命名,例如
url_route_on
和url_convert
; - 环境变量定义使用大写字母和下划线命名,例如
APP_DEBUG
;
数据库表和字段命名
- 表名使用小写字母,使用下划线
_
连接单词,例如:my_table
。 - 字段名同样使用小写字母,使用下划线
_
连接单词,例如:my_column
。
前缀说明
1.方法与函数的前缀
区分段 | 依返回 分类段 | 依内部实现 分类段 | 依用意 分类段 |
---|---|---|---|
m:方法 | Array:仅返回数组为直接结果,如[0 => data1, 1 => data2] || false | Get:从数据库或文件读取数据 | Now:当前鉴权情况下的唯一 |
f:函数 | Bool:仅返回布尔为直接结果,如false | Generate:无中生有,如 UUID 生成 | |
String:仅返回字符串为直接结果,如 UUID 生成返回的结果4hrf783fh8934uhj984u389 | Cover:从数据库或文集更新或写入数据数据 | ||
//Remind:返回数组包含判断结果与直接结果,标准格式如[false,'非法操作'] | Easy:简单实现 | ||
Result:返回布尔或直接返回数组、结果等等,如false /[name=>'xxxx'] ,false /成功 | |||
Object:返回方法或对象 | |||
Void:不做返回 |
2.存储单位的前缀
区分段 | 依要求作用域 分类段 | 依定义由来 分类段 | 依用意 分类段 |
---|---|---|---|
attr | G:可写,可变,如:$attrGReqTime | Req:request 请求 | Now:当前鉴权情况下的唯一 |
T:只读,不可变,如:中间件 中的 $request as $var_t_def_request | Res:response 响应 | ||
//L:只写,可变,如:$attrLDefAdminAllData | Def:Define 内部产生 |
3.前缀使用注意
使用前缀时要求先遵循对应的命名规范,将前缀放于命名的合适位置
当一个外部存储单位传入时,可相对于 当前的全局 该 存储单位 的使用范围,重新为其命名,若适用范围依然适用于原名可不变
前缀要求必须按表格从左至右按分类段组合,不强制要求完全使用上每一个分类段可掐头或去尾,但我们不建议这么做并且一般来说也不允许间隔使用分类段