PHP编码规范

排版

(强制) 程序块要采用缩进风格编写,缩进的空格数为4个。
说明: tab缩进在不同的tab step下可读性相差较大,所以将tab替换为4个空格,可保证在所有环境下缩进都会一致。
(建议) 类、方法定义的开始花括号位于下一行,而控制语句的开始大括号位于同一行的末尾,结束的花括号位于最末一行后,且独占一行。如:

class TestsController
{
    public function index()
    {
        if ($a > $b) {

        }
    }
}

(强制) if/while等结构体,即使只有一行,也必须加上左右花括号,不允许写成一行。这样做可读性更好,并且方便修改。

(建议) 适当控制每行代码的长度(一般不超过80个字符)

(建议) 避免由于对错误的条件做判断带来if的嵌套。 说明: 减少if/else嵌套, 更利于代码逻辑的理解。

不推荐的写法:

if ($a === false) {
    // error handle
} else {
    if($b === false) {
        //handle
    }
}
推荐的写法:

if ($a === false) {
    // error handle
}

if($b === false) {
    // handle
}

(强制) if 语句的条件若较多应折行;新行以逻辑运算符起始,与第一行 if 左括号后的第一个字符对齐;折行后,每行条件具有独立而明确的语义。

(建议) 多行的”=”可能的话尽量用空格对齐。

(强制) 初始化array如果采用多行结构时,数据项部分需要缩进,且最后一个数据项后面的逗号不可省略, 在修改代码增加数据项的时候不容易出现语法错误。
(强制) 对于只含有 php 代码的文件,我们将在文件结尾处忽略掉 “?>”
(强制) 每行结尾不允许有多余的空格。

命名

(强制) 常量命名使用全部大写字符,单词之间以’_’连接。

(强制) 类中的常量 constant 和全局范围内常量define,只能由大写字母和下划线组成,各个单词之间以下划线分割。 如:

define('COURSE_STATUS_NORMAL', 1);
define('COURSE_STATUS_FROZEN', 2);

(强制) 类、method命名采用驼峰命名, 普通function采用过程函数风格(蛇形命名)命名。如:

//驼峰命名
class MyCoursesController
{
    public function courseLists()
    {

    }
}

//蛇形命名
function mb_strlen($string, $encoding = null)
{

}

(强制) 私有函数命名需加上 ‘_’前缀。

(强制) 关键字、boolean值和null必须小写。
(强制) namespace 声明、use声明、include/require 后必须有一个空行,且namespace声明在use声明之前。
注释

(强制) 文件、函数、类以及成员变量都必须包含注释。类文件/普通文件的注释, 说明该文件的主要作用。

(强制) 单行注释使用//, 不能使用#; 多行注释/* 和 */不能出现在同一行。

(强制) 函数必须通过param和return标记指明其参数和返回值。

(建议) 关于@todo。原则上尽量不要引入@todo注释。除非特殊情况, 可以在类注释、函数注释、代码段中加入此标签,用于声明当前代码未尽事宜,以便后续完善补充。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值