国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP開發(fā)注意事項總結(jié)

2024-05-04 21:54:39
字體:
供稿:網(wǎng)友

1.使用內(nèi)嵌的HTML代碼,而不是PHP的echo語句。

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

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

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

3.注意字符串的引用

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

4.在執(zhí)行for循環(huán)之前確定最大循環(huán)數(shù),不要每循環(huán)一次都計算最大值

  代碼如下:


<!--p
//不要這樣做
for ($i=0;$i<=count($array);$i++){
...
}
//應(yīng)該這樣做
$array_length = count($array);
for ($i=0;$i<=$array_length;$i++){
...
}
-->

 

5.注意include與require的區(qū)別

在PHP變成中,include()與require()的功能相同,但在用法上卻有一些不同,include()是有條件包含函數(shù),而require()則是無條件包含函數(shù)。例如在下面的一個例子中,如果變量$somgthing為真,則將包含文件somefile

 代碼如下:


if($something){
include(“somefile.txt”);
}
但不管$something取何值,下面的代碼將把文件somefile包含進文件里:
if($something){
require(“somefile.txt”);
}

 

6.做數(shù)據(jù)庫查詢操作時,應(yīng)盡量避免聯(lián)合操作

比起其它的Web編程語言來說,PHP的數(shù)據(jù)庫功能十分強大。
但是在PHP中數(shù)據(jù)庫的運行仍然是一件十分費時費力的事情,所以,作為一個Web程序員,要盡量減少數(shù)據(jù)庫的查詢操作,同時應(yīng)該為數(shù)據(jù)庫建立適當(dāng)?shù)乃饕?
另一件值得注意的事情是在用PHP操作數(shù)據(jù)庫時,盡可能不使用多個數(shù)據(jù)表的聯(lián)合操作,盡管聯(lián)合操作可以增強數(shù)據(jù)庫的查詢功能,但是卻大大增加了服務(wù)器的負(fù)擔(dān)。

7.如果你想知道腳本開始執(zhí)行(譯注:即服務(wù)器端收到客戶端請求)的時刻,使用$_SERVER[‘REQUEST_TIME']要好過于用time()函數(shù)。

8.不一定必須要面向?qū)ο螅嫦驅(qū)ο笫潜容^耗時的。有些簡單的操作還是過程的快。

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

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

比如echo $str1,$str2。

11.當(dāng)if…else…嵌套比較多時,應(yīng)選擇switch….case

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

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

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

要注銷一個變量,可以用 unset($foo)或者$foo=NULL

以上就是本文的全部內(nèi)容了,希望大家能夠喜歡。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桦甸市| 龙陵县| 革吉县| 巍山| 同仁县| 大荔县| 河西区| 甘泉县| 台前县| 荆门市| 普兰县| 柞水县| 开江县| 晋宁县| 陇川县| 婺源县| 防城港市| 玉林市| 灌阳县| 澄迈县| 青冈县| 璧山县| 桃江县| 锡林浩特市| 台南市| 闽清县| 鲁甸县| 卓尼县| 保亭| 仁寿县| 都安| 交口县| 濮阳县| 桃江县| 婺源县| 股票| 涪陵区| 石柱| 大同县| 韩城市| 沈阳市|