




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PHP代碼編寫規(guī)范一、編輯器設(shè)置(1)使用Tab縮進(jìn),不要使用空格鑒于很多編輯器在保存文件時(shí)會(huì)自動(dòng)清除用于縮進(jìn)的空格,所以我們一律使用Tab鍵進(jìn)行縮進(jìn)。(2)UNIN文件格式請(qǐng)將編輯器設(shè)置對(duì)所有程序使用UNIX格式保存,不要使用Win32或者M(jìn)ac的格式。例如,EditPlus里面Document-File Format(CR/LF)-Unix 。對(duì)于windows格式文件,以Ctrl + M結(jié)束(vim下為M),需要過濾掉:$text = strtr($text, x0D, );二、命名設(shè)置1、公共庫名稱空間TPLIB,Tencent PHP Library2、變量命名(1)所有字母都使用小
2、寫(2)首字母根據(jù)變量值類型指定整數(shù)I、浮點(diǎn)數(shù)f、字符串s、布爾值b、數(shù)組a、對(duì)象o、資源r、混合類型m(3)使用_作為每一個(gè)詞的分界例如:$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);3、類命名(1)使用大寫字母作為詞的分隔,其他的字母均使用小寫,即駝峰格式。(2)名字的首字母使用大寫(3)不要使用下劃線(_)(4
3、)interface接口最好使用大寫字母I,并以Interface結(jié)尾例如:class NameOneTwoclass Nameinterface IExampleInterface ()4、方法命名(1)使用大寫字母作為詞的分隔,其他的字母均使用小寫(2)名字的首字母使用大寫,聲明為 “private” 或 “protected” 的,使用_為前綴(3)不要使用下劃線(_)(4)與類命名一致的規(guī)則(5)對(duì)象的訪問器總是以 “get” 或 “set” 為前綴,當(dāng)使用設(shè)計(jì)模式如 單態(tài)模式(singleton)或工廠模式(factory),方法的名字應(yīng)當(dāng)包含模式的名字,這樣容易從名字識(shí)別設(shè)計(jì)模式。
4、例如:class NameOneTwopublic function DoIt() ;protect function _HandleError() ;private function _SayHello() ;5、類屬性命名(1)屬性名前綴應(yīng)以屬性值類型指定(具體參照變量命名規(guī)則)(2)前綴后采用與類命名一致的規(guī)則(3)私有屬性采用_為前綴例如:class NameOneTwo public function VarAbc() ;public function ErrorNumber() ;public $iAge;private $_iAge;6、方法中參數(shù)命名(1)參照類屬性命名例如:c
5、lass NameOneTwo public function VarAbc($sMsg) ;7、全局變量(1)全局變量應(yīng)該帶前綴g(2)其余參照變量命名規(guī)則例如:global $gi_Age;global $ga_Price8、 定義命名/全局常量(1)全局常量使用_分割每個(gè)單詞(2)所有字母使用大寫例如:define(E_ERROR_MISSING_PARA, 501);9、 函數(shù)(1)所有的字母采用小寫,使用_分割每個(gè)單詞例如:function some_bloody_function()10、文件命名包含文件應(yīng)該以.inc.php方式命名,例如config.inc.php。單獨(dú)類的文件
6、使用Classname.php方式命名,包中的類使用 PackageName/ClassName.php命名。三、代碼層1、大括號(hào)規(guī)則(1)將大括號(hào)放置關(guān)鍵詞下方的同列處或同行,推薦放到同行例如:function some_bloody_function() if (true) / code2、 縮進(jìn)/制表符規(guī)則(1)使用制表符縮進(jìn)例如:function some_bloody_function() if (true) /code3、小括號(hào)、關(guān)鍵詞和函數(shù)規(guī)則(1)不要把小括號(hào)和關(guān)鍵詞緊貼在一起,要用空格隔開它們(2)小括號(hào)和函數(shù)名要緊貼在一起(3)除非必要,不要在Return返回語句中使用小括
7、號(hào)例如:if (condition) strcmp($sHello, $sEvening);return 1;4、 If Then Else格式布局if (條件1) /注釋else if (條件2) /注釋else /注釋如果你有用到else if語句的話,通常最好有一個(gè)else塊以用于處理未處理到的其他情況??梢缘脑挿乓粋€(gè)記錄信息注釋在else處,即使在else沒有任何的動(dòng)作。條件格式總是將恒量放在等號(hào)/不等號(hào)的左邊,例如:if ( 6 = $errorNum ) 一個(gè)原因是假如你在等式中漏了一個(gè)等號(hào),語法檢查器會(huì)為你報(bào)錯(cuò)。第二個(gè)原因是你能立刻找到數(shù)值,而不是在你的表達(dá)式的末端找到它。需要一
8、點(diǎn)時(shí)間來習(xí)慣這個(gè)格式,但是它確實(shí)很有用。5、Switch格式(1)default總應(yīng)該存在,它應(yīng)該不被到達(dá),然而如果到達(dá)了就會(huì)觸發(fā)一個(gè)錯(cuò)誤。(2)如果你要?jiǎng)?chuàng)立一個(gè)變量,那就把所有的代碼放在塊中。例如:switch ($numPeople) case 1:break;case 2:break;default:break;6、 ?:三元運(yùn)算符(1)把條件放在括號(hào)內(nèi)以使它和其他的代碼相分離。(2)如果可能的話,動(dòng)作可以用簡(jiǎn)單的函數(shù)。(3)把所做的動(dòng)作,“?”,“:”放在不同的行,除非他們可以清楚的放在同一行。例如(condition) ? funct1() : func2();(condition)
9、? long statement: another long statement;7、 代碼塊的聲明(1)聲明代碼塊需要對(duì)齊。例如$iDate = 0;$irDate = NULL;$sName = ;$mName = NULL;8、 不要采用缺省方法測(cè)試非零值不要采用缺省值測(cè)試非零值,也就是使用:if (FAIL != f()比下面的方法好:if (f()即使FAIL可以含有0值,也就是PHP認(rèn)為false的表示。在某人決定用-1代替0作為失敗返回值的時(shí)候,一個(gè)顯式的測(cè)試就可以幫助你了。就算是比較值不會(huì)變化也應(yīng)該使用顯式的比較;例如:if (!($bufsize % strlen($str)
10、應(yīng)該寫成:if ($bufsize % strlen($str) = 0)以表示測(cè)試的數(shù)值(不是布爾)型。一個(gè)經(jīng)常出問題的地方就是使用strcmp來測(cè)試一個(gè)字符等式,結(jié)果永遠(yuǎn)也不會(huì)等于缺省值。非零測(cè)試采用基于缺省值的做法,那么其他函數(shù)或表達(dá)式就會(huì)受到以下的限制:只能返回0表示失敗,不能為/有其他的值。命名以便讓一個(gè)真(true)的返回值是絕對(duì)顯然的,調(diào)用函數(shù)IsValid()而不是Checkvalid()。9、PHP注釋與方法解析(1)/單行注釋(2)/* * 多行注釋*/(3)/* * 多行文檔注釋 * */(4)關(guān)于文檔注釋的說明/* 這是一個(gè)關(guān)于函數(shù)的注釋 */function bac(
11、)/* 這不是一個(gè)文檔注釋,因?yàn)椴皇且?*開頭 */function bac()/* 這是一個(gè)文檔注釋,但與函數(shù)無關(guān),因?yàn)樗麤]放到函數(shù)前面 */function bac()e) 文檔說明/* 文件說明* author 作者* license License* version 1.0* link* final*/10、在運(yùn)算符之間使用空格在比較運(yùn)算符(、=、=、=、=、!=、!=)、賦值運(yùn)算符(=)、數(shù)學(xué)運(yùn)算符(+、-、*、/、%)、位運(yùn)算符(&、|、)、邏輯運(yùn)算符(!、&、|)、冒號(hào)(:)、問號(hào)(?)、字符串連接運(yùn)算符(.)、字符串連接賦值運(yùn)算符(.=)前后,以及左括號(hào)(()前(函數(shù)調(diào)用例外)
12、、逗號(hào)(,)后請(qǐng)使用空格進(jìn)行間隔。例如: /* These are all wrong. */$i=0;/* These are all right. */$i = 0; /* These are all wrong. */if($i7) ./* These are all right. */if ($i 7) . /* These are all wrong. */if ( ($i 8) ) ./* These are all right. */if ($i 8) . /* These are all wrong. */do_stuff($i,foo,$b);/* These are all right. */do_stuff($i, foo, $b);/* These are all wrong. */for($i=0; $i$size; $i+) ./* These are all right. */for ($i = 0;$i $size;$i+) . /* These are all wrong. */$i=($j $size)?0:1;/* These are all rightg. */$i = ($j $s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 63267-3-81:2025 EN-FR Fibre optic interconnecting devices and passive components - Connector optical interfaces for enhanced macro bend multimode fibre - Part 3-81: Conn
- 【正版授權(quán)】 IEC 60794-1-133:2025 EN-FR Optical fibre cables - Part 1-133: Generic specifications - Basic optical cable test procedures - Mechanical test methods - Multiple cable coiling
- 大班幼兒運(yùn)動(dòng)安全健康教育
- 海淀3年級(jí)下數(shù)學(xué)試卷
- 河北技校數(shù)學(xué)試卷
- 貴州近年高考數(shù)學(xué)試卷
- 醫(yī)院車輛安全管理課件
- 醫(yī)院藥械科管理課件
- 健康管理師實(shí)踐課件
- 建筑裝飾行業(yè)市場(chǎng)風(fēng)險(xiǎn)投資及運(yùn)作模式與投資融研究報(bào)告(2024-2030)
- DB65∕T 3952-2016 反恐怖防范設(shè)置規(guī)范 學(xué)校
- 科研助理合同協(xié)議書
- 患者身份識(shí)別制度培訓(xùn)
- 綠化工程掛靠合同協(xié)議
- 父親同意孩子戶口遷到母親協(xié)議書5篇
- 《諸子百家教學(xué)課件》課件
- T-SHWSHQ 01-2023《醫(yī)療衛(wèi)生機(jī)構(gòu)安全生產(chǎn)標(biāo)準(zhǔn)化管理規(guī)范》
- 房屋美化合同協(xié)議
- 四年級(jí)音體美試卷及答案
- 混凝土外觀質(zhì)量規(guī)范要求
- 數(shù)控操作工培訓(xùn)內(nèi)容
評(píng)論
0/150
提交評(píng)論