PHP代码规范
需要符合 PS-1 PS-2 PS-4 标准规范:
基本代码规范,本篇规范制定了代码基本元素的相关标准,以确保共享的PHP代码间具有较高程度的技术互通性。
关键词
必须(MUST)、一定不可、一定不能(MUST NOT)、需要(REQUIRED)、将会(SHALL)、不会(SHALL NOT)、应该(SHOULD)、不该(SHOULD NOT)、推荐(RECOMMENDED)、可以(MAY)和可选(OPTIONAL)。
譬如:
PS-1
- PHP代码文件必须以<?php 或<?= 标签开头
- PHP代码文件必须以不带BOM的UTF-8编码 【推荐阅读:utf-8与utf-8(无BOM)的区别】
- PHP代码中应该只定义类、函数、常量等声明,或其他会产生从属效应的操作(生成文件输出以及修改.ini配置文件等),二者只能选其一
- 命名空间以及类必须符合PSR的自动加载规范:PSR-4;
- 类的命名必须遵循StudlyCaps大写开头的驼峰命名规范;
- 类中的常量所有字母都必须大写,单词间用下划线分隔;
- 方法名称必须符合camelCase式的小写开头驼峰命名规范
PS-2:
- 代码必须使用四个空格符而不是tab键进行缩进。
- 每行的字符数应该软性保持在80个内,理论上不可多于120个,但一定不能由硬性限制
- 每个namespace命名空间声明语句和use声明语句块后面,必须插入一个空白行
- 类的开始花名号({)必须在函数声明后自成一行,结束花名号(})也必须在函数主体后自成一行
- 类的属性和方法必须添加访问修饰符(private protected以及public),abstract以及final必须声明在访问修饰符之前,而static必须声明在访问修饰符之后。
- 控制结构的关键字后必须要有一个空格符,而调用方法或函数时则一定不能有。
- 制结构的开始花括号({)必须写在声明的同一行,而结束花括号(})必须写在主体后自成一行。
- 控制结构的开始左括号后和结束右括号前,都一定不能有空格符。
PS-4
- class类、接口、traits可复用代码块以及其他类似结构。
- 一个完整的类名需要具有以下结构
\<命名空间>(\<子命名空间>)*\<类名> - 完整的类名必须要有一个顶级命名空间,被称为“Vendor namespace”
- 完整的类名可以有一个或多个子命名空间
- 完整的类名必须有一个最终的类名
- 完整的类名中任意一部分中的下划线都是没有特殊意义的
- 完整的类名可以由任意大小写字母组成
- 所有类名都必须是大小写敏感的