網頁訪問速度的提升,是可以通過代碼的優化來實作的,代碼的優化,并不是說代碼越少越好,而是主要看代碼的運行能力和執行效率,看其消耗CPU和記憶體的多少,例如Facebook近來就宣布通過代碼優化而將網站性能提高了一倍,平均訪問時間從5s降至2.5s,這個結果無疑是極其誘人的,
PHP是一門很多人正在使用的語言,在網站開發上PHP的使用廣泛度超過ASP和ASP.NET,看看時下流行的CMS和博客用什么語言來開發的就知道了,
其實PHP入門很容易,尤其是對于一個已經接觸程序式撰寫的人來說,而對于沒有接觸程序式語言的菜鳥來說,學習用PHP做一個輸出hello world的網頁也很輕松,
然而要撰寫高效率的代碼,并不是所有懂程式的人都可以撰寫出來的,這需要經過多年的研究積累和經驗總結,
本文將給大家提煉一些PHP代碼優化的實體,利用這些優化,PHP代碼的運行能力將會大大提高,速度提升5倍以上有些情況下并不是不能出現,
1、echo 比 print 快
echo和print是PHP程式中經常使用的指令,尤其是需要除錯的時候,echo和print都能輸出一段資訊,但經測驗發現,echo運行速度會比print快,因此在程式撰寫是應使用echo而非print,但是有時候也需要用到print,echo不能完全代替print,請看[php echo()和print()有什么區別](http://www.webkaka.com/tutorial/php/2012/082016/),
2、連接符用逗號而不是句號
php里逗號和句號都可以起到連接符的作用,關于如何優化輸出,可以看這里[如何優化php字串echo輸出](http://www.webkaka.com/tutorial/php/2012/05207/),
此外,輸出多個字串時,用逗號代替句點來分隔字串,速度更快,
3、在執行for回圈之前確定最大回圈數,不要每回圈一次都計算最大值,
這條準則同樣適用于任何語言,這個是編程習慣,但這個習慣很不好,不管你使用什么語言,
// 在每次回圈中sizeof函式都要被呼叫
for ($i = 0; $i < sizeof($post_data); $i++)
{
do_something();
}
// 您可以在回圈起始部分對這個不變的量賦值
for ($i = 0, $size = sizeof($post_data); $i < $size; $i++)
{
do_something();
}
4、使用選擇分支陳述句(譯注:即switch case)好于使用多個if,else if陳述句,
if else if 的使用非常普遍,在其他語言里也一樣,這個寫法好像更符合人的說話習慣,但是在程式里這樣寫并不太好,它在效率上比switch case要低,所以,一旦程式里需要多個判斷時,就應該用switch case而不要再用if else if else if這樣,
5、資料庫連接當使用完畢時應關掉
在操作資料庫時,很多程式員往往忘記關掉資料庫連接,或許他們沒有這個習慣,資料庫連接是需要消耗記憶體為代價的,連接數越多記憶體消耗就越多,所以在實際應用中都必須及時關閉不需要用到的連接,以釋放記憶體,緩解服務器壓力,
6、錯誤訊息代價昂貴
錯誤訊息一般用于除錯,它的執行效率其實是很低的,速度上會比直接運行慢很多,所以,在程式不需要抓取錯誤訊息時,就不要用,
7、區域變數要合理使用
盡量不要在for回圈中使用函式,比如for ($x=0; $x prop++)要比遞增一個區域變數慢3倍,
遞增一個未預定義的區域變數要比遞增一個預定義的區域變數慢9至10倍,
僅定義一個區域變數而沒在函式中呼叫它,同樣會減慢速度(其程度相當于遞增一個區域變數),PHP大概會檢查看是否存在全域變數,
8、用單引號代替雙引號來包含字串
實踐證明,用單引號代替雙引號來包含字串,這樣做會更快一些,
因為PHP會在雙引號包圍的字串中搜尋變數,單引號則不會,當然,只有當你不需要在字串中包含變數時才可以這么做,更多分析[請看實體分析php單引號和雙引號的區別](http://www.webkaka.com/tutorial/php/2012/092718/),
9、mod_zip你用了嗎
mod_zip可作為Apache模塊,用來即時壓縮你的資料,并可讓資料傳輸量降低80%,
10、快取的使用
除非腳本可以快取,否則每次呼叫時都會重新編譯一次,引入一套PHP快取機制通常可以提升25%至100%的性能,以免除編譯開銷,
盡量做快取,可使用memcached,memcached是一款高性能的記憶體物件快取系統,可用來加速動態Web應用程式,減輕資料庫負載,對運算碼 (OP code)的快取很有用,使得腳本不必為每個請求做重新編譯,
11、網頁用html而非php
毫無疑問,html靜態頁面的訪問速度是最快的,現在的CMS,都是可以在后臺生成全站HTML靜態頁面的,這不僅可以提高用戶訪問網頁的速度,而對于搜索引擎的收錄和排名也是非常有利的,
以上幾點是本文提煉出來的PHP優化方法,當然,優化PHP絕非僅此一點,所謂學無止境,許許多多的優化方法和技巧,需要我們在實踐中不斷總結和運用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/228387.html
標籤:PHP
