PHP編碼規范

jopen 10年前發布 | 34K 次閱讀 PHP PHP開發

為了提高工作效率,保證開發的有效性和合理性,并最大程度提高程序代碼的可讀性和可重復利用性,提高溝通效率,需呀一份代碼編輯規范。

一、文件標記:

 1.所有php文件,其代碼標記均采用完整php標簽,不建議使用短標簽(短標簽容易和xml混淆,php從5.4開始默認不支持短標記)。

 2.對于只有php的代碼文件,建議省略結尾處的‘?>’。這是為了防止多余的空格或其他字符影        響到代碼。

二、文件和目錄命名

 1.程序文件名和目錄名均采用有意義的英文命名,不使用拼音和無意義的字母,只允許出現字母、數字、下劃線和中劃線字  符,同時必須以‘.php’結尾(模板文件除外),多個詞間使用駝峰命名法。

    例://類統一采用:DemoTest.class.php

          //接口統一采用:DemoTest.interface.php

          //其他按照各自的方式:demoTest.{style}.php

三、文件目錄結構

  1. 規范的目錄結構有助于團隊協作開發和后期維護。

    ——app            //獨立的應用

    ——class          //單個的類文件,共用的類文件

    ——conf/inc    //配置文件或目錄

    ——data          //數據文件或目錄

    ——doc           //程序相關文檔

    ——htdocs       //document_root

    ——images       //所有圖片文件存放路徑

    ——css            //css文件

    ——js               //js文件

    ——lib              //共用類庫

    —template    //模板文件

    —tmp            //臨時文件目錄

    </li>

    1. ——cache    //緩存文件

      </li>

    2. ——session  //SESSION文件

      </li>

    3. ——template_c    //編譯后的模板文件

      </li>

    4. ——other

      </li> </ol>

      ——upload      //上傳文件

      ——manage    //后臺管理文件目錄

      </ol>

      四、命名規范

      1.變量命名:php中變量區分大小寫,一個有效的變量名由數字、字母或下劃線開頭,后面跟任意數量的字母、數字、下劃線。

          a)程序整體以駝峰命名法,以小寫字母開始,同時命名要有意義。(function displayName())

          b)PHP全局變量鍵值兩邊都有‘_’,中間用駝峰命名法命名。($_GLOBAL['_beginTime_'])

          c)普通變量整體采用駝峰命名法,建議在變量前加表示類型的前綴。不確定類型的以大寫字符開頭。

          d)函數名要盡量有意義,盡量縮寫。

      2.類及接口命名:

          a)以大寫字母開頭。

          b)多個單詞組成的變量名,單詞之間不用間隔,各個單詞首字母大寫。

          c)類名與類文件名保持一致。

          d)程序中所有的類名唯一。

          e)抽象類應以Abstract開頭。

          接口命名規則:

              i)采用和類相同的命名規則,但在其命名前加‘i’字符,表示接口。

              ii)盡量保持和實現它的類名一致。

      3.數據庫命名:在數據庫相關命名中,一律不出現大寫。

          a)表名均使用小寫字母。

          b)表名使用同一的前綴且前綴不能為空。

          c)對于多個單詞組成的表名,使用‘_’間隔。

          d)表字段命名規則。

                  i)全部使用小寫字母。

                  ii)多個單詞不用下劃線分割。

                  iii)給常用字段加上表名首字母做前綴。

                  iv)避免使用關鍵字和保留字。

      五、注釋規范

      1.程序注釋:寫在代碼前面而不是后面,單行代碼按照習慣寫在代碼尾部;大段注釋采用/**/的方式,通常為文件或函數的頂部,代碼內部使用'//';注釋不宜太多;代碼注釋應該描述為什么而不是做什么,給代碼閱讀者提供最主要的信息。

      2.文件注釋:文件注釋一般放在文件的頂部,包括本程序的描述、作者、項目名稱、文件名稱、時間日期、版本信息、重要的使用說明(類的調用,注意事項等)。版本更改要修改版本號,并加上mofify注釋。

      3.類和接口注釋:按照一般的習慣,一個文件只包含一個類。

      4.方法和函數注釋:方法和函數的注釋寫在前面,通常需要表明信息的主要可見性、參數類型和返回值類型。

          /**

          *    連接數據庫

          *    @param string $dbhost    數據庫服務器地址

          *    @param string $dbuser    數據庫用戶名

          *    @param string $dbpwd    數據庫密碼

          */

      六、代碼風格

      1.縮進和空格:使用4個空格做為縮進,不使用Tab鍵;變量賦值時,等號兩邊留出空格。($url = '$_GET['url']';)

      2.語句斷行:盡量保證程序語句一行即一句;盡量不要使一行的代碼過長,80個字符以內;如果一行的代碼太長,請使用類似于‘.=’方式斷行連接;執行數據庫的sql語句操作時,盡量不要再函數內寫sql語句,而先用變量定義sql語句,然后在執行操作的函數中調用定義的變量。

      3.更好的習慣:在代碼中使用下面列舉的方法,可以使代碼更優雅。

              1):多使用php中已經存在的常量,而不要自己定義。

                  例://換行

                        echo $msg."\r\n";

                        echo $msg,PHP_EOL;

                      php中PHP_EOL是一個預定義常量,表示一行結束,隨著所使用系統不同,使用PHP_EOL代碼可移植性更高

              2):在echo中使用逗號做連接符,比用‘.’做連接符代碼更美觀。

              3):單引號的效率高于雙引號,但二者在使用上有區別,學會使用printf函數。

                  例://echo

                      echo  '每個'.$scholl.'大約有'.floor($avg).'個學生';

                        //printf

                     $format = '每個%s大于有$d個學生';

                      printf($format,$school,$avg);

              4)  :詳細的注釋

              5):不要 濫用語法糖,語法糖就是語言中的潛規則,即不具備普遍代表性的語法。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!