PHP 代碼文件
-
必須以
<?php
開頭,不能用<?
以免配置為short_open_tag = off
時(shí)造成出錯(cuò); - 必須以不帶BOM的 UTF-8 編碼;
- 純PHP代碼的文件關(guān)閉標(biāo)簽
?>
必須省略;
命名規(guī)則
- 類 -- 必須按照大寫開頭的駝峰式命名;
class HelloWorld
- 方法 -- 必須按照小寫開頭的駝峰式命名宽闲;
public function helloFunction()
- 屬性 -- 必須以小寫開頭的駝峰式命名;
$helloAttribute
- 常量 -- 所有字母都必須大寫握牧,詞間以下劃線分隔;
const HELLO_WORLD = 'hello world'
- 私有 -- 屬性和方法都必須以
_
開頭;
private function _helloFunction()
private $_helloWorld
- 參數(shù)&臨時(shí)變量 -- 字母全小寫容诬,詞間以下劃線分割;
$hello_world
布局
- 在namespace聲明下面必須有一個(gè)空行沿腰,并且use聲明代碼塊下面也必須有一個(gè)空行;
- 類和方法的左花括號(hào)必須放到下一行览徒,右花括號(hào)必須放在主體的下一行;
class HelloWord
{
function __construct()
{
echo 'hello world';
}
}
- 控制結(jié)構(gòu):
- 關(guān)鍵詞有()的時(shí)候颂龙,()左右兩端外界各留一個(gè)空格习蓬,方法和函數(shù)不可有;
- 左花括號(hào)必須放在同一行措嵌,右花括號(hào)必須放在控制主體的下一行躲叼;
- 右花括號(hào)必須與控制結(jié)構(gòu)關(guān)鍵詞左側(cè)對(duì)齊;
if ($hello_world == true) {//()兩端外界都有一個(gè)空格
//控制主體
}//與if對(duì)齊
function helloWorld (){} //()前面的空格
- 參數(shù)列表:
-
,
之后要有一個(gè)空格企巢; - 方法中有默認(rèn)值的參數(shù)必須放在參數(shù)列表的最后面枫慷;
- 參數(shù)列表可以被分為多個(gè)有一次縮進(jìn)的多個(gè)后續(xù)行。如果這么做,列表的第一項(xiàng)必須放在下一行或听,并且每行必須只放一個(gè)參數(shù)探孝;
function helloWorld($arg1, &$arg2, $arg3='test'){}
function multLines(
$arg1,
&$arg2,
$arg3='test'
){}
其他
- 一個(gè)文件中最多只有一個(gè)類;
- 一行代碼的長(zhǎng)度盡量控制在120個(gè)字符以內(nèi)誉裆;
- 一個(gè)class不要超過(guò)500行有效代碼顿颅;
- PHP關(guān)鍵詞
true
,false
和null
必須使用小寫; - 類方法中不要出現(xiàn)$_SERVER足丢、$_GET粱腻、$_POST等,要通過(guò)形參傳遞到類方法霎桅。
更多細(xì)節(jié)可參考 PSR