我們寫**的時候,乙個好的編碼規範,對我們來說能夠起到很多意向不到的效果。至少會有一下的好處:
1、提高我們的編碼效率。整齊劃一的**方便我們進行複製貼上嘛!
2、提高**的可讀性。
3、顯示我們專業。別人看到了我們的**,發現整個**的書寫流程都整齊劃一,瞬間逼格就上去了!
4、方便團隊協同工作。大家使用同一的規範,這樣就消除了五花八分的書寫方式,同一協調!
其實我們所寫的php指令碼,其實也就是由兩大塊組成的,即對**的書寫、對**的注釋!不同的框架,甚至不同的公司,對這方面都會有所不同,這裡只是已將之言,僅僅是對自己的書寫規範進行乙個總結!希望能對其他的朋友以啟示
資料夾的命名:
資料夾同一使用小寫字母。如存放控制器的資料夾,直接命名為controller即可
檔案的命名:
如果是類檔案的話,那麼檔案的命名應該同類名稱保持一致,統一使用大駝峰。如session.class.php , 對應類名稱為session,
如果是普通的工具指令碼,那麼統一使用小駝峰,如common.php
類名稱的命名:
類名稱同一使用大駝峰,cookie類
方法名的命名:
統一使用小駝峰,一般使用 動詞 + 名次 的形式來描述該方法的功能,如sendmessage,傳送簡訊。
在物件導向中,遵循同樣的規則,但是個別地方有所區別:
public getusername()
protected _gettotalamount()
private _setblanceamount()
變數的命名規範:
關於變數,我們需要多說幾點:
1、無論在物件導向還是非物件導向的語法中,變數統一使用小駝峰,如:$workyears。
但是在物件導向中又有所不同,public 、 protected 、 private ,protected或者private屬性的時候,前面加上了_作為區別
public $startposition = 1;
protected $_salaryamount =1000;
private $_*** = 'formale';
2、如果是常量的話,統一使用大寫,中間使用下劃線進行分割。
define('current_script', 'index.php');
const transaction_type = 'income';
3、全域性變數,使用大駝峰,字首加上_,所有的單詞首字母大寫。因為知道乙個變數的作用域是非常重要的,所以區域性變數和全域性變數應該很明顯的進行分開!
$_system_config;
$_root_path;
縮排符關於編碼的縮排符號,我們統一使用製表符縮排!也許有的人會問為什麼不適用空格縮排的呢?
原因很簡單,大部分的編輯器都支援製表符等於多少個空格,而使用空格就沒得調了!
運算符號
所有的兩元運算符號,都應該前後使用空格進行
$name = 'zero';
$age > 18 ? 'adult' : 'children';
常見的流程語句規劃
我們約定,所有的流程語句的花括號都單獨佔據一行。理由:如果遇到較為複雜的業務邏輯,花括號會出現很多的巢狀,這樣一來我們會混淆個個對應的花括號!
1、分支語句
if($age >= 18 && $age <= 30)
else if($age > 30 && $age <= 60)
else
//下面這段**高手我們乙個問題,在if語句中,即使在可以不要花括號的情況下,花括號也是要寫上的
if($age > 60)
switch($status)
2、迴圈語句
while($condition)
foreach($arraylist as $arraykey => $arrayitem)
do
while($condition)
for($start; condition; changenumber)
很多人說好的**是不需要注釋的,其實,個人認為這是一句很扯淡的話(也可能他是對的,除非整個團隊就他乙個人,他包辦了一切,不用看別人的**)。
個人的觀點是:多寫注釋,無論是對團隊的其他人,還是對自己都是非常友好的!
根據個人的經驗來看,注釋至少有以下幾個作用:
1、有利於提高**的可讀性,畢竟讀你的注釋要比讀你的**要容易的多!
2、有利於規劃自己的**布局!之所以這麼說,是因為和**注釋的種類有關。「有利於**的布局」,這種看著有點懸的事,光說是說不明白的,我們需要實實在在的例子做支撐!
3、由於我們的注釋規範是按照phpdocumentor的要求,所以通過這個工具,還可以生成乙份對**的總體說明,相當於乙個使用說明書!g
**注釋的種類
1、塊注釋
塊注釋,個人認為主要用在了三個地方。對php指令碼的描述、對乙個大的功能模組的描述、在一行之內不能寫完注釋的時候,也應該放在塊注釋中
2、行注釋
行注釋,個人認為他是配合塊注釋進行工作的!一般用於描述乙個大的功能模組的具體細節!
實戰的案例
關於phpdocumentor語法的具體使用細節,這裡就不多說了,官網上說的再清楚不過了
從上面的例子中我們可以看一下**的布局大致是怎麼回事,但是還需要我們在實踐中慢慢摸索
php 編碼規範哪些 php編碼規範
1.php 必須以完整的形式來定界 即不要使用php 短標籤 且保證在關閉標籤後不要有任何空格。2.當乙個字串是純文字組成的時候 即不含有變數 則必須總是以單引號 作為定界符。例如 a example string 3.變數替換中的變數只允許用 變數名 的形式。例如 greeting hello n...
php 編碼規範哪些 PHP編碼規範
很多初學者對編碼規範不以為然,認為對程式開發沒有什麼幫助,甚至因為要遵循規範而影響了學習和開發的進度。或者因為經過一段時間的使用,已經形成了自己的一套風格,所以不願意去改變。這種想法是很危險的。如今的 web 開發,不再是乙個人就可以全部完成的,尤其是一些大型的專案,往往需要十幾人,甚至幾十人來共同...
php 編碼規範哪些 PHP 編碼規範
這是給小組制定的php編碼規範 該 php 編碼規範基本上是同 psr 規範的。有一部分的編碼規範 psr 中是建議,此編碼規範會強制要求。此編碼規範 是以 psr 1 psr 2 psr 2擴充套件 為藍本,並增加了相應的細節說明。通則基本編碼 php 必須使用 長標籤 或 短輸出標籤 一定不可使...