PHP 编码规范
约定大约规范…… 以下为笔记,虽然有许多约定我并不认可。
文件格式
文件标记
1 | // 完整PHP标签 |
使用段标签格式容易和XML混淆,并且不是所有PHP版本和服务器都默认支持或打开段标签选项;所以,所有PHP文件,其代码标记均使用完整PHP标签,不建议使用短标签。
对于只含有PHP代码的文件,将在文件结尾处忽略 ?>
。这是为了防止多余空格或者其他字符影响到代码。
文件和目录命名
程序文件名和目录名均采用有意义的英文命名,不适用拼音或无意义的字幕,只允许出现字母、数字、下划线等字符,同事必须以 .php
结尾(模板文件除外)。多个词间使用大驼峰法命名。
1 | // 类统一采用 |
文件目录结构
- app —— 独立的应用
- class —— 类文件目录
- conf —— 配置文件目录
- data —— 数据文件目录
- doc —— 程序相关文档目录
- images —— 图片存放目录
- css —— CSS文件
- js —— JavaScript文件目录
- lib —— 公用类库目录
- template —— 模板文件目录
- temp —— 临时文件目录
- upload —— 上唇文件目录
- manage —— 后台管理文件目录
命名规范
PHP中的变量用一个美元符号后面跟变量名表示。变量名区分大小写。一个有效变量名由字幕或者下划线开头,后面跟任意数量的字幕、数字、下划线。不应该在变量中使用中文等非ASCII字符。
变量命名
程序整体,包括普通变量、函数名、类中属性在内,以小驼峰法命名
1 |
|
PHP全局变量键值两边都有 _
,中间使用小驼峰命名
1 | $_GLOBAL['_beginTime_']; |
类及接口命名
- 大驼峰命名
- 类名和类文件保持一致
- 程序中所有类名唯一
- 抽象类应以Abstract开头
- 接口命名和类相同的命名规则,但在其命名前加
i
字符,表示接口
1 | MyClass.class.php |
数据库命名
数据表命名
- 表名均使用小写字母
- 表名使用同一的前缀,且前缀不能为空(模块化,规避保留字)
- 多个单词组成的表名,使用
_
间隔
表字段命名
- 全部使用小写字母
- 多个单次不用下划线进行分割
- 如果有必要,给常用字段加上表明首字母作为前缀
其他
- 存储过程以
proc_
开头 - 触发器以
tri_
开头 - Event 调度以
event_
开头 - 视图以
view_
开头
其他习惯
多使用PHP中已经存在的常量,而不要自己定义,例如:
1 |
|
在 echo 中使用逗号做字符串连接符,比使用点号代码更美观。
参考书籍: 《PHP核心技术与最佳实践》