一、 變數命名
a) 所有字母都使用小寫
b) 首字母根據變數實值型別指定
i. 整數i
ii. 浮點數f
iii. 字串s
iv. 布爾值b
v. 數組a
vi. 對象o
vii. 資源r
viii. 混合類型m
c) 使用’_’作為每一個詞的分界
例如:
$i_age_max = 10;
$f_price = 22.5;
$s_name =‘harry’;
$b_flag = true;
$a_price = array();
$o_object = new class();
$r_file = fopen();
$m_var = array_combine($a_name, $a_flag);
二、 類命名
a) 使用大寫字母作為詞的分隔,其他的字母均使用小寫,即駝峰格式。
b) 名字的首字母使用大寫
c) 不要使用底線(’_')
d) interface介面最好使用大寫字母I,並以Interface結尾
例如:
class NameOneTwo
class Name
interface IExampleInterface ()
三、 方法命名
a) 使用大寫字母作為詞的分隔,其他的字母均使用小寫
b) 名字的首字母使用大寫,聲明為 “private” 或 “protected” 的,使用’_’為首碼
c) 不要使用底線(’_')
d) (與類命名一致的規則)
e) 對象的訪問器總是以 “get” 或 “set” 為首碼,當使用設計模式如 單態模式(singleton)或原廠模式(factory),方法的名字應當包含模式的名字,這樣容易從名字識別設計模式。
例如:
class NameOneTwo{
public function DoIt() {};
protect function _HandleError() {};
private function _SayHello() {};
}
四、 類屬性命名
a) 屬性名稱首碼應以屬性值類型指定(具體參照變數命名規則)
b) 首碼後採用與類命名一致的規則
c) 私人屬性採用’_’為首碼
例如:
class NameOneTwo {
public function VarAbc() {};
public function ErrorNumber() {};
public $iAge;
private $_iAge;
}
五、 方法中參數命名
a) 參照類屬性命名
例如:
class NameOneTwo {
public function VarAbc($sMsg) {};
}
六、 全域變數
a) 全域變數應該帶首碼‘g’
b) 其餘參照變數命名規則
例如:
global $gi_Age;
global $ga_Price
七、 定義命名/全域常量
a) 全域常量使用’_’分割每個單詞
b) 所有字母使用大寫
例如:
define(‘E_ERROR_MISSING_PARA’, 501);
八、 函數
a) 所有的字母採用小寫,使用’_’分割每個單詞
例如:
function some_bloody_function(){
}
九、 大括弧{}規則
a) 將大括弧放置關鍵詞下方的同列處或同行,推薦放到同行
例如:
function some_bloody_function() {
}
if (true) {
// code
}
十、 縮排/定位字元規則
a) 使用定位字元縮排
例如:
function some_bloody_function() {
if (true) {
//code
}
}