返回官网

PHP 开发编写规范

狒狒 2018-8-27 技术札记 650 次

代码编辑器

 不限制编辑器,但要统一使用 UTF-8 字符集编写

 

 

书写注释

     一般原则

       使用C 样式的注释(/* */)和标准C++ 注释(//),而不使用Perl/shell 样式的注释(#)。

    

 

类文件头注释

 

   在每个源文件的头部要有必要的注释信息,

    包括:文件名;

          作者;

          修改历史;

          生成日期;

          模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等); 

    主要函数或过程清单及本文件历史修改记录等。

   注释方法:

      /** 

      * 类名 

      *(详细的功能描述) 

      * 

      * @author 

      * @history   修改内容    日期   修改人的名称 

      */ 

 

  

函数头注释

    在每个函数或过程的前面要有必要的注释信息,

    包括:

                  函数或过程名称;

                 功能描述;

                 输入、输出及返回值说明;

                 调用关系及被调用关系说明等。

   注释方法:

   /**

   * 功能描述

   * @param

   * @return

   * 日期 修改人的名称

   */

 

 

include 和 require的使用 

  无论在什么地方无条件包含一个类型文件,应该使用require_once();

  

 

大括号{}规则

   将大括号放置在关键词同一行,距前面字符一个空格:

       if ($condition) { 

             ...

       } 

 

 

缩进/ 制表符/ 空格

 规则

   (1)缩进采用键盘Tab键,不采用空格键。并且”=”或者链接字符串时需要左右空一格,每层次缩进长度为4个半角空格; 

   (2)缩进层次大于四或五级,可考虑将代码因数分解(factoring out code)。

 

 

小括号/ 关键词/ 函数规则

     规则   

   (1)小括号和函数名紧贴在一起;

   (2)除非必要,不要在return返回语句中使用小括号。

   (3)永远不要在括号与括号之间的字符中间留下空格; 

   (4)不要把小括号和关键词紧贴在一起,要用空格隔开;

   (5)要把小括号和函数名紧贴在一起,以免跟关键字相混;

 

 

不要不可思议的数字

 

   用define()来给想表示某样东西的数值一个真正的名字,而不是采用赤裸裸的数字,如:

      define (“PRESIDENT_WENT_CRAZY”, ”22”); 

      define (“WE_GOOFED”, “19”); 

 

  

 

关于$_GET等变量的调用规则

    规则      

   (1)GET变量ss要使用$_GET[“ss”]调用;

   (2)POST变量ss要使用$_ POST [“ss”]调用;

   (3)COOKIE变量ss要使用$_ COOKIE [“ss”]调用;

   (4)SESSION变量ss要使用$_SESSION [“ss”]调用;

   (5)SERVER变量ss要使用$_SERVER [“ss”]调用;

 

 

 

 IF ELSE语句[布局

      if (条件1) {  //注释

            ...

      }else if  (条件2) { //注释

            ...

      }else {  //注释

            ...

      } 

 

如果有用else if语句,要有一个else块以用于处理未处理到的其他情况,可以的话放一个记录信息注释在

      else处,即使else没有任何的动作。

      [条件格式] 

      总是将恒量放在等号/不等号的左边,如:

      if(6 == $errorNum)

 

 

 

SWITCH语句 

 

(1)在这个case块的前应该加 上注释;

      case '1':  // 注释

 

(2)如果要创立一个变量,那就把所有的代码放在块中。

 

 布尔逻辑类型

  大部分函数在FALSE的时候返回0,但是返回非0值就代表TRUE,因而不要用1

    (TRUE,YES,诸如此类)等式检测一个布尔值,应该用0

    (FALSE,NO,诸如此类)的不等式来代替:

        if (TRUE == func()) { ...  

           应该写成:

         if (FALSE != func()) { ... 

  

发表评论

Copyright © 2016 DEWEBSTUDIO