接上篇php
3. 優化點:儘量少的使用魔法函數程序員
狀況描述:PHP提供的魔法函數,性能不佳
web
爲何呢?爲了給PHP程序員省事,PHP語言爲此作了不少
正則表達式
好的方法:儘量規避使用PHP魔法函數,須要使用的時候,權衡一下利弊
後端
4. 優化點:產生額外開銷的錯誤抑制符@函數
狀況描述:PHP提供的錯誤抑制符只是爲了方便「懶人」
性能
@符號的實際邏輯:在代碼開始前,結束後,增長了opcode,忽略了報錯。
大數據
好的建議:建議儘可能不要使用@錯誤抑制符
優化
5. 優化點:合理使用內存.net
狀況描述:PHP有內存回收機制保底,但也請當心使用內存。
好的建議:利用unset()即便釋放不使用的內存。(注意:unset會出現註銷不掉的狀況)
6. 優化點:儘可能少的使用正則表達式
狀況描述:正則表達式的回溯開銷較大,若是正則表達式的基礎很差,仍是慎用。
好的建議:利用字符串處理函數,實現相同的邏輯。
7. 優化點:避免在循環內作運算
狀況描述:循環內的計算式將會被重複計算。
代碼示例:
//錯誤的作法,每次循環都要計算一下$str的長度 $str = 'hello world'; for($i=0;$i<strlen($str);$i++){ //這裏是邏輯 } //正確的作法,只需計算一次長度便可 $str = 'hello world'; $len = strlen($str); for($i=0;$i<$len;$i++){ //這裏是邏輯 }
8. 優化點:減小計算密集型業務
狀況描述:PHP不適合密集型運算的場景。PHP特性決定了PHP不適合作大數據量運算。
PHP適用場景,適合銜接webserver與後端服務,UI呈現。
9. 優化點:務必使用帶引號的字符串做爲鍵值
狀況描述:PHP會將沒有引號的鍵值當作常量來處理,產生查找常量的開銷。
好的建議:嚴格使用引號鍵值。