編寫好的PHP代碼是創(chuàng)建快速穩(wěn)定Web應(yīng)用的關(guān)鍵步。從開始就遵循些佳實(shí)踐技巧將節(jié)省后期填坑的時(shí)間。
只要可以盡可能的使用PHP的內(nèi)置方法,而不是自己編寫相同功能的方法。花點(diǎn)時(shí)間去熟悉和學(xué)習(xí)PHP的內(nèi)置方法,不但可以幫助你更快的編寫代碼,而且可以使你編寫的代碼更高效的運(yùn)行。
json_encode()和json_decode() 等PHP的內(nèi)置方法,運(yùn)行速度都非??欤袘?yīng)該先使用Json。如果你無(wú)法避免使用xml,那么請(qǐng)務(wù)必使用正則表達(dá)式而不是DOM操作來(lái)進(jìn)行解析。
Memcache特別適用于減少數(shù)據(jù)庫(kù)負(fù)載,而像APC或OPcache這樣的字節(jié)碼緩存引擎在腳本編譯時(shí)可節(jié)省執(zhí)行時(shí)間。
當(dāng)個(gè)變量會(huì)被多次使用時(shí),開始就計(jì)算好,肯定要比每次使用時(shí)都計(jì)算遍要更高效。
與count()、strlen()和sizeof()函數(shù)相比,isset()和empty()對(duì)于檢測(cè)個(gè)變量是否為空等場(chǎng)景更加簡(jiǎn)單和高效。
如果你不打算重復(fù)使用個(gè)類或者方法,那么它就沒什么存在的價(jià)值。而如果你必須要定義和使用個(gè)類,則需要合理規(guī)劃類中的方法,對(duì)于不是特別公用的方法,盡量將他們放到子類中去,因?yàn)檎{(diào)用子類中的方法,比調(diào)用父類方法速度更快。
開發(fā)時(shí)打開錯(cuò)誤報(bào)告,可以讓你避免很多潛藏的Bug,而些調(diào)試代碼也有助于你定位Bug,但是當(dāng)代碼部署到生產(chǎn)環(huán)境后,這些錯(cuò)誤報(bào)告和調(diào)試代碼會(huì)拖慢你的程序速度,而且將些錯(cuò)誤報(bào)告直接顯示給用戶,也具有相當(dāng)?shù)陌踩L(fēng)險(xiǎn)。因此,在生產(chǎn)環(huán)境請(qǐng)關(guān)閉它們。
當(dāng)使用完畢后,注銷變量和關(guān)閉數(shù)據(jù)庫(kù)連接,可以釋放珍貴的內(nèi)存資源。
查詢數(shù)據(jù)庫(kù)時(shí),使用聚合函數(shù),可以減少檢索數(shù)據(jù)庫(kù)的頻率,并且使程序運(yùn)行的更快。
舉個(gè)例子,str_replace()比preg_replace()要快,而strtr()函數(shù)則比str_replace()函數(shù)快四倍。
如果可能,盡量使用單引號(hào)替代雙引號(hào)。程序運(yùn)行時(shí),會(huì)檢查雙引號(hào)中的變量,這會(huì)拖慢程序的性能。
由于“===”僅檢查閉合范圍,因此比使用“==”進(jìn)行比較速度更快。
版權(quán)所有 2003-2017 安徽希望網(wǎng)絡(luò)科技有限公司 皖B1.B2-20070013-5