- 相關(guān)推薦
PHP代碼優(yōu)化24條真經(jīng)
PHP開(kāi)發(fā)者在寫(xiě)代碼的時(shí)候可能會(huì )按照自己的習慣,忽略了如何做才是最和計算機的口味,運行得更快。下面是百分網(wǎng)小編精心為大家整理的PHP代碼優(yōu)化24條真經(jīng),希望對大家優(yōu)化代碼有幫助有幫助,更多內容請關(guān)注應屆畢業(yè)生網(wǎng)!
1. echo比print快。
2. 使用echo的多重參數代替字符串連接。
3. 在執行for循環(huán)之前確定最大循環(huán)數,不要每循環(huán)一次都計算最大值,最好運用foreach代替。
4. 對global變量,應該用完就unset()掉。
5. 用單引號代替雙引號來(lái)包含字符串,這樣做會(huì )更快一些。因為PHP會(huì )在雙引號包圍的字符串中搜尋變量,單引號則不會(huì )。
6. 函數代替正則表達式完成相同功能。
7. 當執行變量$i的遞增或遞減時(shí),$i++會(huì )比++$i慢一些。這種差異是PHP特有的,并不適用于其他語(yǔ)言,++$i更快是因為它只需要3條指令(opcodes),$i++則需要4條指令。后置遞增實(shí)際上會(huì )產(chǎn)生一個(gè)臨時(shí)變量,這個(gè)臨時(shí)變量隨后被遞增。而前置遞增直接在原值上遞增。
8. 使用選擇分支語(yǔ)句(switch case)好于使用多個(gè)if,else if語(yǔ)句。
9. 利用var_dump進(jìn)行PHP代碼調試。如果你在尋找php調試技術(shù),我必須說(shuō)var_dump應該是你要找的目標,在顯示php信息方面這個(gè)命令可以滿(mǎn)足你的所有需要,而調試代碼的多數情況與得到PHP中的數值有關(guān)。
10. 在包含文件時(shí)使用完整路徑,解析操作系統路徑所需的時(shí)間會(huì )更少。
11. 動(dòng)輒創(chuàng )建全局數值是一種糟糕的做法,不過(guò)有時(shí)候實(shí)際情況的確又需要這么做。對于數據庫表或數據庫連接信息使用全局數值是一個(gè)不錯的想法,但不要在你的PHP代碼中頻繁使用全局數值。另外,更好的一種做法是把你的全局變量存放在一個(gè)config.php文件中。
12. 如果你想知道腳本開(kāi)始執行的時(shí)刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
13. 打開(kāi)apache的mod_deflate模塊。
14. 用@屏蔽錯誤消息的做法非常低效。
15. 盡量采用大量的PHP內置函數。
16. 遞增一個(gè)未預定義的局部變量要比遞增一個(gè)預定義的局部變量慢9至10倍。
17. 派生類(lèi)中的方法運行起來(lái)要快于在基類(lèi)中定義的同樣的方法。
18. 僅定義一個(gè)局部變量而沒(méi)在函數中調用它,同樣會(huì )減慢速度(其程度相當于遞增一個(gè)局部變量)
19. Apache解析一個(gè)PHP腳本的時(shí)間要比解析一個(gè)靜態(tài)HTML頁(yè)面慢2至10倍。盡量多用靜態(tài)HTML頁(yè)面,少用腳本。
20. 正如之前提到的,任何php網(wǎng)站中最重要的部分有99%的可能是數據庫。因此,你需要非常熟悉如何正確的使用sql,學(xué)會(huì )關(guān)聯(lián)表和更多高級的數據庫技術(shù)。
21. 調用帶有一個(gè)參數的空函數,其花費的時(shí)間相當于執行7至8次的局部變量遞增操作。
22. 當操作字符串并需要檢驗其長(cháng)度是否滿(mǎn)足某種要求時(shí),你想當然地會(huì )使用strlen()函數。此函數執行起來(lái)相當快,因為它不做任何計算,只返回zval結構(C的內置數據結構,用于存儲PHP變量)中存儲的已知字符串長(cháng)度。
23. 并不是所有情況都必須使用面向對象開(kāi)發(fā),面向對象往往開(kāi)銷(xiāo)很大,每個(gè)方法和對象調用都會(huì )消耗很多內存。
24. 除非腳本可以緩存,否則每次調用時(shí)都會(huì )重新編譯一次。引入一套PHP緩存機制通?梢蕴嵘25%至100%的性能,以免除編譯開(kāi)銷(xiāo)。
【PHP代碼優(yōu)化真經(jīng)】相關(guān)文章:
PHP代碼優(yōu)化技巧05-29
20條PHP代碼優(yōu)化技巧05-24
PHP調用的C代碼08-05
PHP代碼運行流程08-14
php語(yǔ)言字典代碼06-08
php分頁(yè)類(lèi)代碼04-30
PHP實(shí)用的代碼實(shí)例08-12
PHP代碼如何規范02-13
JAVA代碼優(yōu)化總結05-18