20條PHP代碼優化技巧
一個程序猿不會優化代碼?就不是一個好攻城獅。以下是本站小編精心為大家整理的20條PHP代碼優化技巧,希望對大家有所幫助!更多內容請關注應屆畢業生網!
一個程序員優秀與否的判斷標準並非在於他是否能夠編出既定的功能,而是在於他是否能用最精簡、最易維護的代碼,換來最快的運行速度。下面小編就為大家整理了一些PHP 代碼優化方面的小技巧。
1、echo的速度比print快。
2、代碼編寫中,使用echo的多重參數代替字符串連接。
3、在執行for循環之前確定最大循環數,不要每循環一次都計算最大值,最好運用foreach代替。
4、對global變量,應該用完就unset()掉,精簡代碼。
5、用單引號代替雙引號來包含字符串,提升效率。因為PHP會在雙引號包圍的字符串中搜尋變量,單引號則不會。
6、正則表達式用函數代替,完成相同功能。
7、當執行變量$i的'遞增或遞減時,使用前置遞增或遞減。比如:$i++會比++$i慢一些,這種差異是PHP特有的,並不適用於其他語言,++$i更快是因為它只需要3條指令(opcodes),$i++則需要4條指令。後置遞增實際上會產生一個臨時變量,這個臨時變量隨後被遞增。而前置遞增直接在原值上遞增。
8、使用選擇分支語句(switch case)優於使用多個if,else if語句。
9、利用var_dump進行PHP代碼調試。如果你在尋找php調試技術,我必須説var_dump應該是你要找的目標,在顯示php信息方面這個命令可以滿足你的所有需要,而調試代碼的多數情況與得到PHP中的數值有關。
10、在包含文件時使用完整路徑,解析操作系統路徑所需的時間會更少。
11、動輒創建全局數值是一種糟糕的做法,不過有時候實際情況的確又需要這麼做。對於數據庫表或數據庫連接信息使用全局數值是一個不錯的想法,但不要在你的PHP代碼中頻繁使用全局數值。另外,更好的一種做法是把你的全局變量存放在一個文件中。
12、使用$_SERVER[‘REQUEST_TIME’]要好於time(),確定腳本開始執行的時刻。
13、用@屏蔽錯誤消息的做法非常低效。
14、儘量採用的PHP內置函數。
15、遞增一個未預定義的局部變量要比遞增一個預定義的局部變量慢9至10倍。
16、派生類中的方法運行起來要快於在基類中定義的同樣的方法。
17、僅定義一個局部變量而沒在函數中調用它,同樣會減慢速度(其程度相當於遞增一個局部變量)
18、Apache解析一個PHP腳本的時間要比解析一個靜態HTML頁面慢2至10倍。儘量多用靜態HTML頁面,少用腳本。
19、正如之前提到的,任何php網站中最重要的部分有99%的可能是數據庫。因此,你需要非常熟悉如何正確的使用sql,學會關聯表和更多高級的數據庫技術。
20、引入PHP緩存機制通常可以提升25%至100%的性能,因為除非腳本可以緩存,否則每次調用時都會重新編譯一次。
-
php多個文件及圖片上傳實例詳解
主要介紹了php多個文件及圖片上傳的方法,以實例形式詳細敍述了多文件上傳的原理與實現技巧,非常實用,需要的朋友可以參考下。本文實例講述了php多個文件及圖片上傳的方法。分享給大家供大家參考。具體實現方法如下:多個文件上傳是在單文件上傳的基礎上利用遍歷...
-
php中zend相對路徑問題
php下使用zend相對路徑的處理方法。如何使用呢?就跟隨本站小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!<?phpdefine('P_S',PATH_SEPARATOR);define('ROOT',"../");set_include_path(ROOT.P_S.'Zend'.P_S_incl...
-
PHP學習10個基礎知識總結
PHP學習過程中,必須要掌握基礎的知識點,以下是小編為大家搜索整理的PHP學習10個基礎知識總結,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!PHP10個小基礎知識總結1,在HTML嵌入PHP腳本有三種辦法:以下為引用的內容:<scriptlanguage="PHP">//嵌...
-
PHP基礎語言方面的筆試題和答案
伴隨着Facebook的成功,PHP這門解釋型的Web開發語言由於其清晰的定位繼續受到非常多的關注,當然對於中小企業和個人來説,Linux+Apache/Nginx+PHP+MySQL幾乎不用考慮服務器環境方面的成本;而對於開發者來説,在中小型項目開發中PHP也非常容易上手。以下是本站小編精心...