PHP開發注意事項

2021-09-25 07:35:20 字數 2275 閱讀 9802

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迴圈之前確定最大迴圈數,不要每迴圈一次都計算最大值

**如下:

//不要這樣做 

for ($i=0;$i<=count($array);$i++) 

//應該這樣做 

$array_length = count($array); 

for ($i=0;$i<=$array_length;$i++) 

--> 

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

PHP 注意事項

1.arr array a b true in array c arr 返回true,儘管陣列裡並沒有 c 這一項。因為,c true。要想讓其返回正確的結果,應使用 in array c arr,true 2.bool 0 返回false bool 返回true 3.var 1 a var未必是陣...

開發注意事項

一 編碼方面 1.ui層面的東西,盡量畫素級復現設計稿,做完之後在ie,firefox,chrome中預覽一遍,確認沒有問題。2.拿到設計稿之前,對業務需求要有所了解,拿到設計稿之後進行推演,檢查互動是否有誤,如果有誤再三確認之後再開始做。3.元件書寫方式,如果輸入的資料能保持一致,則元件裡面處理資...

php與jquery開發注意事項

一 編碼問題 jquery預設是utf 8編碼的,如果php.ini的default charset utf 8就最好了,那麼php原始碼件的以utf 8無bom編碼為宜 若php.ini的default charset gbk,那麼php原始碼以ansi格式編碼為宜 原始碼編碼與php的defau...