PHP開發經驗總結,php經驗總結_PHP教程

來源:互聯網
上載者:User

PHP開發經驗總結,php經驗總結


1.使用內嵌的HTML代碼,而不是PHP的echo語句。

因為PHP是一門嵌入式Web程式設計語言,可以將HTML代碼和PHP代碼相互嵌入。但是很多程式員擔心在HTML代碼中過多的使用”"嵌入PHP代碼會多次調用PHP解譯器,從而降低了PHP代碼的運行速度,所以寧願使用PHP的echo語句來輸出HTML代碼,而不直接使用HTML代碼。但事實卻恰恰相反。每一個PHP頁面只調用一次PHP解譯器來解釋所有的PHP代碼,所以,只在需要時才嵌入PHP代碼,而大多數的時候直接使用HTML代碼輸入結果,不但不會降低程式的運行速度,而且因為減少了對echo語句的解析,往往可以提高代碼的運行速度。


2.盡量使用str-replace而不是ereg-replace

習慣使用Perl進行編程的程式員更加願意使用ereg_replace完成字串替換工作,因為在PHP中ereg_replace的用法和Perl中模式比對的用法相近。但是,下面的這段代碼證明,使用str_replace 代替 ereg_replace將可以大大提高代碼的運行速度。



3.注意字串的引用

PHP和其它很多程式設計語言一樣,可以使用雙引號("")來引用字串,也可以使用單引號()。但是在PHP中,如果使用雙引號來引用字串,那麼PHP解析器將首先分析字串中有沒有對變數的引用,有變數的話,將對變數進行替換。如果是單引號,則沒有如此複雜——直接將單引號包含起來的所有字串直接顯示出來。顯然,在PHP編程中,如果使用單引號引用字串變數要比使用雙引號快速一些。


4.在執行for迴圈之前確定最大迴圈數,不要每迴圈一次都計算最大值


5.注意include與require的區別

在PHP變成中,include()與require()的功能相同,但在用法上卻有一些不同,include()是有條件包含函數,而require()則是無條件包含函數。例如在下面的一個例子中,如果變數$somgthing為真,則將包含檔案somefile
if($something){
include(“somefile.txt”);
}
但不管$something取何值,下面的代碼將把檔案somefile包含進檔案裡:
if($something){
require(“somefile.txt”);
}


6.做資料庫查詢操作時,應盡量避免聯合操作

比起其它的Web程式設計語言來說,PHP的資料庫功能十分強大。
但是在PHP中資料庫的運行仍然是一件十分費時費力的事情,所以,作為一個Web程式員,要盡量減少資料庫的查詢操作,同時應該為資料庫建立適當的索引。
另一件值得注意的事情是在用PHP操作資料庫時,儘可能不使用多個資料表的聯合操作,儘管聯合操作可以增強資料庫的查詢功能,但是卻大大增加了伺服器的負擔。


7.如果你想知道指令碼開始執行(譯註:即伺服器端收到用戶端請求)的時刻,使用$_SERVER[‘REQUEST_TIME’]要好過於用time()函數。


8.不一定必須要物件導向,物件導向是比較耗時的。有些簡單的操作還是過程的快。


9.$row['id']的速度是$row[id]的7倍


10.echo 比 print 快,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字串串連

比如echo $str1,$str2。


11.當if…else…嵌套比較多時,應選擇switch….case


12.將不用的mysql查詢結果要及時地釋放掉(mysql_free_result())


13.isset()和empty()的區別

兩者都是測試變數用的
但是isset()是測試變數是否被賦值,而empty()是測試一個已經被賦值的變數是否為空白
如果一個變數沒被賦值就引用在php裡是被允許的,但會有notice提示
如果一個變數被賦空值,$foo=”"或者$foo=0或者 $foo=false,那麼empty($foo)返回真,isset($foo)也返回真,就是說賦空值不會登出一個變數。

要登出一個變數,可以用 unset($foo)或者$foo=NULL

http://www.bkjia.com/PHPjc/946199.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/946199.htmlTechArticlePHP開發經驗總結,php經驗總結 1.使用內嵌的HTML代碼,而不是PHP的echo語句。 因為PHP是一門嵌入式Web程式設計語言,可以將HTML代碼和PHP代碼相互嵌...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.