一個好的編碼習慣靠平時的習慣養成,團隊裏有好的編碼規範,而且每一個人都按照制定的編碼規範來執行,那麼我相信代碼的質量以及可維護性會上升一個檔次。而目前PHP要求都要遵照PSR
標準規範,我只列舉一部分編碼中經常使用的寫法進行說明,更多的規範你們能夠搜索PSR標準
。php
對於純PHP的代碼文件,必須以<?php
或者<?
標籤開始,而且獨佔一行,同時不要加?>
的結束標籤,至於爲啥,感興趣的本身去了解哈。segmentfault
<?php class TestDemo { }
類名必須以大寫開頭的駝峯式命名(TestDemo),兩個花括號換行且獨佔一行,同時須要用多行註釋說明類的建立人以及做用等。測試
/** * 這是一個測試Demo類 * Author: gxcuizy * Date: 2021-05-25 13:57:16 * Class TestClass */ class TestDemo { }
類中的常量命名必須所有字母都要大寫(HELLO_WORLD),同時單詞間如下劃線_
分隔,並且最好增長註釋說明,單行註釋最好在//
後先加一個空格再接註釋說明。ui
// 聲明一個常量 const HELLO_WORLD = 'best';
類中的成員屬性(也叫成員變量),成員屬性的命名能夠遵循三個規則:大寫開頭的駝峯式($UserName)、小寫開頭的駝峯式($userName)、下劃線分隔式($user_name);這三種命名規則均可以,我我的習慣用下劃線分隔式
,你們也能夠根據本身的習慣選擇,可是最好與團隊編碼規則保持一致便可,同時三個修飾符(public、protected、private)不能少。編碼
// 聲明一個公共變量 public $user_name = ''; // 聲明一個靜態變量 public static $user_age = 18;
類中的成員方法的命名必須採用小寫開頭的駝峯式命名(testAction)規則,方法的三個修飾符(public、protected、private)不能少,兩個花括號換行且獨佔一行,參數的等號兩邊各一個空格,方法的註釋不要漏了哈,包括方法的做用、參數說明以及返回值說明等。spa
/** * 這是一個測試方法 * @param string $msg 參數說明 * @return array */ public function testAction($msg = '') { // 返回數據格式 $return = array('code' => 200, 'msg' => ''); return $return; } /** * 這是私有方法,方法命名以單下劃線開始 * @param string $arg 參數說明 * @return string */ private function privateAction($arg = '') { return $arg; }
相對於運算符或者不一樣類型的表達式,無論在任何地方使用,咱們都須要在其符號兩邊有一個空格,例如$a = 1;
、1 + 2
以及1 && 0
等。調試
/** * 獲取兩個數相加的和 * @param int $one 第一個數 * @param int $two 第二個數 * @return int */ public function getUserAge($one = 0, $two = 0) { $sum = $one + $two; return $sum; }
相似if …… else
、while
、switch ……case
、foreach
、for
等流程控制結構,基本都須要與括號()
和花括號{}
配合使用,要求括號()
兩邊均有一個空格,而左花括號{
須要與右括號)
同行且有一個空格,而做爲結束的右花括號}
則須要單獨一行,而主體內容都是包含在花括號{}
中。代碼規範
/** * 判斷用戶是否成年 * @param int $age 年齡 */ public function logicAction($age = 18) { if ($age >= 18) { echo '已成年'; } else { echo '未成年'; } }
如今不少IDE都支持一鍵格式化代碼,好比PhpStorm
等,通常快捷鍵都是Ctrl + Alt + L
,你也能夠根據你本身的習慣進行修改快捷鍵以及代碼格式的標準,既能夠一鍵格式化整個文檔,也能夠只選中某一部分代碼進行格式化。PS:若是這個文件不是你一我的建立和修改,請不要輕易一鍵格式化整個文件,由於會把人家的代碼也給格式化了,推薦只格式化你本身的代碼便可,每一個人都不喜歡別人隨意動本身的代碼,因此不要搞事情!不要搞事情!不要搞事情!重要的事情說三遍,你懂的。code
先給出我的的幾點建議吧,但願對你有所幫助:orm
我只是抽取了一小部分經常使用到的代碼規範說一下,若是有寫的不對的地方請你們指出,我會及時修改,謝謝。若是你還有其餘好的編碼技巧,也歡迎和你們一塊兒分享。