PHP開發經驗總結

2021-09-22 20:49:51 字數 1910 閱讀 6762

原文:

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) 

但不管$something取何值,下面的**將把檔案somefile包含進檔案裡: 

if($something) 

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

開發經驗總結

2018 8 29 1.盡量不要在迴圈方法裡面查詢資料庫 應該使用join或者union將資料統一查詢出來後,迴圈處理資料 2.新增或者更新資料時,addtime 和updatetime 的值不要寫在dal層,統計資料時不好控制 3.如果你程式裡面使用的sql語句的話。insert 語句 應該寫明新...

Flsh SOCKET開發經驗總結

剛用as3 flash play 10開發了乙個flash socket應用,過程中遇到的最大問題是安全策略的部署。flash socket通訊中的安全策略問題詳解 套接字策略 adobe actionscript 3.0 安全沙箱 在呼叫flash socket的 socket.connect 方...

python kivy 開發經驗總結

kivy 是一款 python 的gui開發框架,特點是樣式可以和 分離,繪圖功能基於opengl編寫,可以用來開發比較炫的介面,並且可以打包為android ios等移動應用,還能執行在linux windows macos上。我們塔爾旺科技 準備開發一款能對進行畫框標註的程式,因為是內部使用,所...