PHP代码开发规范

PHP代码开发规范

文件

  • 所有文件以UTF-8无BOM编码格式保存

  • 对于只包含PHP代码的文件,结尾的 php?> 应该去掉

  • 关于缩进,所有的代码缩进由四个空格组成,禁止使用制表符TAB进行缩进

  • 类文件首字母大写

命名约定

  • 函数、方法、变量采用驼峰命名方式,并建议使用长命名,函数名赢长到足以说明函数的意图和行为。可接受的函数名例子: filterInput()getElementById()widgetFactory()

常量

  • 常量名的所有字母必须大写,常量中的单词必须已下划线分割

  • 建议声明使用 const 关键字申明为类的成员,不建议使用 define 定义常量

字符串

  • 当字符串是文字(不包含变量),应当用单引号 ' 括起来:$str = 'some strings'

  • 当字符串中包含变量时,应该使用 " 括起来: $str = "some ${name} strings"

数组

  • 数组的key值使用下划线命名方式,以 _ 进行单词分割

  • 数组使用短声明方式,即

      $arr = [];
  • 关联数组应使用多行

      $arr = [
          'firstKey' => 'firstValue',
          'secondKey' => 'secondValue'
      ];

  • 每个类必须有一个符合 PHPDocumentor 标准的文档块

    
    <?php
    /**
  • 这里是类的说明文档 */ class A

  • 每个PHP文件中应只有一个类

  • 类定义、函数定义的开括号 { 必须另起一行

    class A
    {
        public function foo()
        {

        }
    }

代码结构

  • if 、 foreach 等语句的 括号 必须空格,开括号 { 必须在同一行
    if () {

    } elseif () {

    } else {

    }

    foreach () {

    }

    switch () {
        case 1:
            break;

        case 2:
            break;

        default:
            break;
    }
  • 函数的参数应当使用逗号和紧接着的空格分开 threeArguments(1, 2, 3)

  • 代码中的常用关键字 true 、 false 、 null 全部使用小写字母

  • controller 中如果要输出信息,必须使用 $this->_response->setBody()

  • 任何时候,任何地方避免使用die 和 exit方法结束当前php执行

  • 代码注释,所有的函数、类必须要使用规范注释,如下图

    /**
    * 这个类是干什么的
    * 
    * @author sasou <admin@php-gene.com>
    */
    class A
    {
        /**
        * 这个函数是干什么的
        *
        * @category 分类信息
        *
        * @param string $a 变量含义
        * @param int $b 变化含义
        *
        * @return array
        *
        * @example 实例
        */
        public function foo($a, $b)
        {

        }
    }

参考信息:

PHP-FIG中文版