《PHP 實際應(yīng)用編碼規(guī)范》要點:
本文介紹了PHP 實際應(yīng)用編碼規(guī)范,希望對您有用。如果有疑問,可以聯(lián)系我們。
《PHP 實際應(yīng)用編碼規(guī)范》是否對您有啟發(fā),歡迎查看更多與《PHP 實際應(yīng)用編碼規(guī)范》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
前言:
為了提高工作效率,保證開發(fā)的有效性和合理性,并最大程度提高程序代碼的可讀性和可重復(fù)利用性,提高溝通效率,需要一份代碼編寫規(guī)范,本文介紹的規(guī)范參考了Zend與PEAR編碼規(guī)范,并進行了適當?shù)暮喕驼{(diào)整,盡量堅持簡約易懂.通過代碼規(guī)范,讓大家養(yǎng)成良好的代碼編寫習(xí)慣,并減少代碼中的bug.
本規(guī)范包括PHP開發(fā)時程序編碼中的命令規(guī)范、代碼縮進規(guī)則、控制結(jié)構(gòu)、函數(shù)調(diào)用、函數(shù)定義、注釋、包括代碼、PHP標記、常量命名等方面的規(guī)則.
本規(guī)范不強制指定和保舉某種格式,并就實際開發(fā)中個人習(xí)慣做了一些調(diào)整,僅供大家參考.
1. 文件格式
1.1 文件標記
所有的PHP文件,其代碼標記均使用完整PHP標簽,不建議使用短標簽,對于只含有PHP代碼的文件,將在文件結(jié)尾忽略“?>”,這是因為防止多余空格或者其他字符影響到代碼.
1.2 文件和目錄命名
程序文件和目錄名均采用有意義的英文命名,不使用拼音或者無意義的字母,只允許出現(xiàn)字母、數(shù)字、下劃線和中劃線字符,同時必須以".php"結(jié)尾,多個詞間使用駝峰法命名.
1.3 文件目錄結(jié)構(gòu)
在開發(fā)規(guī)范、獨立的PHP項目時,使用規(guī)范的文件目錄結(jié)構(gòu),有助于提高項目邏輯結(jié)構(gòu)合理性,對于拓展和合作以及團隊開發(fā)均有好處.
通常一個完整獨立的PHP項目的文件目錄結(jié)構(gòu)
2. 命名規(guī)范
2.1 變量命名
PHP中的變量用一個美元符號后面跟變量名表示.變量名區(qū)分大小寫.一個有效變量名由字母或者下劃線開頭,后面跟任意數(shù)量的字母、數(shù)字、下劃線.正常的正則表達式為:
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
不應(yīng)該在變量中使用中文等ASCII字符.
1)程序整體
程序整體以駝峰法命名,以小寫字母開始,同時命名要有意義
2)PHP全局變量鍵值
PHP全局變量鍵值兩邊都有“_”,中間使用駝峰法命名,如 $_GLOBAL['_beginTime_']
3)普通變量
普通變量整體采用駝峰法,建議在變量前加表示類型的前綴,不確定類型的以大寫字母開頭,函數(shù)參數(shù)不確定的類型以大寫字母開頭,其他地方的變量以小寫字母開頭,對于一些常見變量,按著約定命名,并避免使用常用關(guān)鍵字或者存在模糊意義的單詞,變量應(yīng)以名詞為主,保舉:
字符串:$strName
數(shù)組:$arrName
對象:$objName
布爾值:$bool
4)函數(shù)名
函數(shù)名既要有意義,也要盡量縮寫,建議采用動詞或者動詞加形容詞的命名方式,如showMsg.
5)類中的屬性
類中的屬性變量遵循普通變量的命名規(guī)則
2.2 類及接口命名
在面向?qū)ο蟮拇a中,其命名方式有一些特殊,類的命名遵循以下規(guī)則:
以大寫字母開頭:多個單詞組成的變量名,單詞之間不用間隔,各個單詞首字母大寫;
類名與類文件堅持一致;
程序中所有類名唯一;
抽象類應(yīng)以Abstract開頭;
接口命名遵循以下規(guī)則:
采取和類相同的命名規(guī)則,但是在其命名前加i字符,表示接口;
盡量堅持和實現(xiàn)它的類名一致;
2.3 數(shù)據(jù)庫命名
在數(shù)據(jù)庫相關(guān)的命名中,一律不出現(xiàn)大寫,詳細的命名規(guī)則如下:
1)數(shù)據(jù)庫命名遵循以下規(guī)范:
表名均使用小寫;
表名字使用統(tǒng)一的前綴,且前綴不能為空;
對于多個單詞組成的表名,使用“_”間隔.
2)表字段命名遵循以下規(guī)范:
全部使用小寫字母命名;
多個單詞使用下劃線
2.4 習(xí)慣與約定
1)縮寫
依照習(xí)慣,同時為了減小變量的長度,在不影響可讀的前提下,習(xí)慣對變量進行縮寫,常見于一些函數(shù)的參數(shù),如:
image -> img
string -> str
database -> db
array -> arr
count -> cnt
message -> msg
2)魔術(shù)數(shù)字
魔術(shù)數(shù)字是指直接在程序代碼里的具體數(shù)值,此類變量盡量定義為常量.
3.注釋規(guī)范
每個程序必須提供必要的注釋,包含文件注釋,代碼塊注釋,函數(shù)注釋等.
3.1 程序注釋
程序注釋原則如下:
寫在被注釋代碼前面,而不是很后面,對于單行語句,按著習(xí)慣可以把注釋放在語句末尾.對于大段注釋,使用“/**/”格式,通常在文件和函數(shù)注釋中使用,而代碼內(nèi)部統(tǒng)一使用“//”注釋,因為其寫起來簡單.注釋不宜太多.
3.2 文件注釋
文件注釋通常放在整個PHP文件頭部,其內(nèi)容包含文件版權(quán),作者,日期,版本號等重要信息.PHP中,可以參照phpdocument規(guī)范,便于利用程序自動生成文檔.
文件注釋遵循以下規(guī)則:
本程序的描述;
作者;
項目名稱;
文件名稱;
日期;
版本;
使用說明等;
文件注釋說明
3.3 辦法和函數(shù)注釋
辦法和函數(shù)的注釋寫在前面,通常需要標明的信息包括函數(shù)說明、參數(shù)類型和返回值的類型.
4.代碼風(fēng)格
4.1 縮進和空格
在書寫代碼的時候,必須注意代碼的縮進規(guī)則:
使用4個空格作為縮進,而不是tab縮進;
變量賦值時,等號左右留下空格;
為了最大程度減輕工作量,堅持代碼美觀,建議使用大型IDE管理代碼.
4.2 語句斷行
代碼書寫中應(yīng)遵循以下原則:
盡量保證程序語句一行就是一句;
盡量不要使一行代碼太長,一般控制在100個字符以內(nèi);
如果一行代碼太長,請使用 “.=” 的方式斷行書寫;
執(zhí)行數(shù)據(jù)庫sql語句操作時,盡量不要在函數(shù)內(nèi)寫sql語句,而是先用變量定義sql語句,然后在執(zhí)行操作的函數(shù)中調(diào)用定義的變量;
小結(jié):
在開頭就提到編碼規(guī)范的目的是提高工作效率,保證開發(fā)的有效性和合理性,并最大程度的提高程序代碼的可讀性和可重復(fù)利用性,減少返工,提高溝通效率.好的代碼風(fēng)格,見代碼如見人.
PHP是一門腳本語言,本身就是一門不嚴謹?shù)恼Z言,所以規(guī)范就顯得更重要了.
強烈建議使用大型IDE進行代碼開發(fā)和管理,并使用合適的版本控制軟件,保舉PhpStorm 和 Git.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/9657.html