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