對于程序員每解決一個bug,就給自己一個提升。
的確,沒有真正解決過無數的bug或問題的程序員,談不上專家,談不上高級程序員。而一個高級程序員正是從這種解決問題的過程中不斷地歷練自己,形成一套爛熟于心的問題解決思路,讓自己強大的。
今天咱們就簡單說說PHP程序員成長過程中經常遇到的一些問題,如果你一個也沒遇到或很少遇到,那么您就是兩個極端的人:要么初級入門,要么高級了,哈哈。
1
編碼問題。
2
PHP和SQL數據庫執行效率問題。
3
Session和Cookie域和加密解析問題。
4
程序的執行順序問題。
5
程序編寫的多環境適用問題。
6
分類的構建和結構設計問題。
7
字符串處理問題:正則表達式處理或簡單PHP字符串處理函數來處理。
8
各種模板引擎的編寫局限性問題。
9
PHP和web端數據交互問題(如ajax,接口調用等)。
10
如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。
11
$row[’id’]的速度是$row[id]的7倍。
12
echo比print快,并且使用echo的多重參數(譯注:指用逗號而不是句點)代替字符串連接,比如echo$str1,$str2。
13
在執行for循環之前確定最大循環數,不要每循環一次都計算最大值,最好運用foreach代替。
14
注銷那些不用的變量尤其是大數組,釋放內存。
15
盡量避免使用__get,__set,__autoload。
16
require_once代價昂貴。
17
include文件時盡量使用絕對路徑,因為它避免了PHP去include_path里查找文件的速度,解析操作系統路徑所需的時間會更少。
18
如果你想知道腳本開始執行(譯注:即服務器端收到客戶端請求)的時刻,使用$_SERVE[‘REQUEST_TIME’]要好于time。
19
函數代替正則表達式完成相同功能。
20
str_replace函數比preg_replace函數快,但strtr函數的效率是str_replace函數的四倍。
21
如果一個字符串替換函數,可接受數組或字符作為參數,且參數長度不太長,那么可以考慮額外寫一段替換代碼,使得每次傳遞參數是一個字符,而不是只寫一行代碼接受數組作為查詢和替換的參數。
22
使用選擇分支語句(譯注:即switchcase)好于使用多個if,elseif語句。
23
用@屏蔽錯誤消息的做法非常低效,極其低效。
24
打開apache的mod_deflate模塊,可以提高網頁的瀏覽速度。
25
數據庫連接當使用完畢時應關掉,不要用長連接。
26
錯誤消息代價昂貴。
27
在方法中遞增局部變量,速度是最快的。幾乎與在函數中調用局部變量的速度相當。
28
遞增一個全局變量要比遞增一個局部變量慢2倍。遞增一個對象屬性(如:$this->prop++)要比遞增一個局部變量慢3倍。php培訓找云和數據。歡迎和網站客服溝通索要免費試聽資格。
?