Tgroup

PHP代码规范

需要符合 PS-1 PS-2 PS-4 标准规范:

基本代码规范,本篇规范制定了代码基本元素的相关标准,以确保共享的PHP代码间具有较高程度的技术互通性。

关键词 必须(MUST)、一定不可、一定不能(MUST NOT)、需要(REQUIRED)、将会(SHALL)、不会(SHALL NOT)、应该(SHOULD)、不该(SHOULD NOT)、推荐(RECOMMENDED)、可以(MAY)和可选(OPTIONAL)。

譬如:

PS-1

  1. PHP代码文件必须以<?php 或<?= 标签开头
  2. PHP代码文件必须以不带BOM的UTF-8编码 【推荐阅读:utf-8与utf-8(无BOM)的区别】
  3. PHP代码中应该只定义类、函数、常量等声明,或其他会产生从属效应的操作(生成文件输出以及修改.ini配置文件等),二者只能选其一
  4. 命名空间以及类必须符合PSR的自动加载规范:PSR-4;
  5. 类的命名必须遵循StudlyCaps大写开头的驼峰命名规范;
  6. 类中的常量所有字母都必须大写,单词间用下划线分隔;
  7. 方法名称必须符合camelCase式的小写开头驼峰命名规范

PS-2:

  1. 代码必须使用四个空格符而不是tab键进行缩进。
  2. 每行的字符数应该软性保持在80个内,理论上不可多于120个,但一定不能由硬性限制
  3. 每个namespace命名空间声明语句和use声明语句块后面,必须插入一个空白行
  4. 类的开始花名号({)必须在函数声明后自成一行,结束花名号(})也必须在函数主体后自成一行
  5. 类的属性和方法必须添加访问修饰符(private protected以及public),abstract以及final必须声明在访问修饰符之前,而static必须声明在访问修饰符之后。
  6. 控制结构的关键字后必须要有一个空格符,而调用方法或函数时则一定不能有。
  7. 制结构的开始花括号({)必须写在声明的同一行,而结束花括号(})必须写在主体后自成一行。
  8. 控制结构的开始左括号后和结束右括号前,都一定不能有空格符。

PS-4

  1. class类、接口、traits可复用代码块以及其他类似结构。
  2. 一个完整的类名需要具有以下结构 \<命名空间>(\<子命名空间>)*\<类名>
  3. 完整的类名必须要有一个顶级命名空间,被称为“Vendor namespace”
  4. 完整的类名可以有一个或多个子命名空间
  5. 完整的类名必须有一个最终的类名
  6. 完整的类名中任意一部分中的下划线都是没有特殊意义的
  7. 完整的类名可以由任意大小写字母组成
  8. 所有类名都必须是大小写敏感的