10條PHP編程習慣
1、使用單引號括起來(lái)的字符串
當使用雙引號來(lái)括字符串時(shí),PHP解釋器會(huì )對其進(jìn)行變量替換、轉義等操作,如 “\n”。如果只想輸出一個(gè)基本的字符串,用單引號會(huì )節省一些資源。當然,如果需要進(jìn)行變量替換的,那就必須用雙引號了。
2、字符串的輸出
以下哪一條語(yǔ)句的運行速度最快?
print “Hi my name is $a. I am $b”$$
echo “Hi my name is $a. I am $b”$$
echo “Hi my name is “.$a.”. I am “.$b;
echo “Hi my name is “,$a,”. I am “,$b;
echo ‘Hi my name is ‘,$a,’. I am ‘,$b;
最后一條的運行速度是最快的。 print比echo要慢,在字符串中進(jìn)行變量替換時(shí)會(huì )慢,而連接字符串要比用逗號連接來(lái)得慢,最后一句則是第一個(gè)習慣的體現。所以,不在字符串中進(jìn)行變 量替換不僅會(huì )加快程序運行速度,也會(huì )讓你的代碼在任何語(yǔ)法高亮顯示的編輯器中顯得更為易懂(變量會(huì )被高亮顯示出來(lái))。很少人知道echo的參數可以用逗號 連接,且速度會(huì )比字符串連接要來(lái)得快。最后再用上第一個(gè)習慣,那這條語(yǔ)句就非常好了。
3、在數組索引中使用單引號
正如你在上面的測試題中所看到的,$x[sales]從嚴格意義上來(lái)說(shuō)是錯誤的,索引應該被括起來(lái),即$x['sales']。這是因為PHP會(huì )將 沒(méi)有括起來(lái)的索引辨認為“裸”字符串,并把它解釋為一個(gè)常量。當找不到該常量的定義時(shí),才將其解釋為一個(gè)字符串,所以這條語(yǔ)句才是可運行的。把索引括起來(lái) 可以省去這部分工作,如果將來(lái)正好要用這一字符串定義常量時(shí)也就不會(huì )有錯誤了。
4、不使用開(kāi)始標志的縮寫(xiě)形式
你正在使用 這樣的符號嗎?“
5、盡量不要使用正則表達式
在進(jìn)行常規的字符串操作時(shí),盡可能不要去使用正則表達式(preg和ereg系列函數)。str_replace函數要比preg_replace快得多,甚至 strtr函數也要比str_replace來(lái)得快。省去這些不必要的麻煩吧,你的老板會(huì )感謝你的。
6、不要在循環(huán)聲明中使用函數
這個(gè)問(wèn)題不單單出現在PHP中,你可以在其他語(yǔ)言的代碼中經(jīng)?吹剑
差:for($i=0;$i< count($array);$i++){…}
好:$count=count($array);for($i=0;$i& lt;$count;$i++){…}
如果在循環(huán)聲明中使用了 count函數,那每次循環(huán)都會(huì )調用一次。如果循環(huán)次數很多,會(huì )浪費非常多的時(shí)間。
7、不要使用 register_globals和magic quotes
老版本的PHP在安裝時(shí)會(huì )默認打開(kāi)這兩個(gè)功能,這會(huì )引起安全漏洞、編程錯誤及其他的問(wèn)題,如只有用戶(hù)輸入了數據時(shí)才會(huì )創(chuàng )建變量等。如今這兩個(gè)功 能都被舍棄了,每個(gè)程序員都應該避免使用。
8、一定要對變量進(jìn)行初始化(這 里的“初始化”指的是“聲明”)
當需要沒(méi)有初始化的變量,PHP解釋器會(huì )自動(dòng)創(chuàng )建一個(gè)變量,但依靠這個(gè)特性來(lái)編程并不是一 個(gè)好主意。這會(huì )造成程序的粗糙,或者使代碼變得另人迷惑,因為你需要探尋這個(gè)變量是從哪里開(kāi)始被創(chuàng )建的。另外,對一個(gè)沒(méi)有初始化的變量進(jìn)行遞增操作要比初 始化過(guò)的來(lái)得慢。所以對變量進(jìn)行初始化會(huì )是個(gè)不錯的主意。
9、對代碼進(jìn)行注釋
這個(gè)問(wèn)題已經(jīng)提過(guò)很多次了,但再多次也 不夠。我知道有些地方是不聘用不對代碼進(jìn)行注釋的程序員的。我在前一次工作面試后和副總、面試官一起瀏覽我寫(xiě)的代碼,當他們對我所做的代碼注釋印象深刻, 還了解了一下我的這一習慣。一天之后,我得到了這個(gè)工作。
我知道有些自稱(chēng)為PHP大師的.人聲稱(chēng)自己的代碼寫(xiě)得很好,不需要添加什么注 釋。在我看來(lái),這些人都是垃圾。學(xué)一寫(xiě)注釋的規范和技巧,熟悉一下phpDocumentor或Doxygen之類(lèi)的注釋輔助軟件,都是值得的。
10、遵循一個(gè)編程規范
關(guān)于這一點(diǎn),是你需要在面試中詢(xún)問(wèn)你潛在的老板的,問(wèn)問(wèn)他們正在使用什么編程規范。PEAR?Zend?內部規范? 要提及你正在使用的編程規范,不管是你自己創(chuàng )建的,還是目前普遍流行的一種。對于PHP這種松松垮垮的語(yǔ)言來(lái)說(shuō),如果沒(méi)有一個(gè)好的編程規范,那么那些代碼 就會(huì )看起來(lái)想一堆垃圾。發(fā)臭的,令人作嘔的垃圾。一些基本的規范包括空格規范、打括號匹配、命名風(fēng)格等。這對任何一個(gè)追求高質(zhì)量的代碼的人來(lái)說(shuō)都是必須 的。
有人說(shuō):“我討厭你的4個(gè)空格的縮進(jìn)。”我要說(shuō),什么?用4個(gè)空格來(lái)縮進(jìn)?這比用制表符過(guò)占用3個(gè)字符的空間。更重要的是,只要 是使用比記事本高級的編輯器,你可以自定義制表符的縮進(jìn)值。所以每個(gè)程序員都可以以其最習慣的方式來(lái)看代碼?梢詴r(shí)設置為4,也可以設置為0(如果你是個(gè) 受虐狂)。反正我不在乎,但你就是不能用空格來(lái)縮進(jìn)!
【10條PHP編程習慣】相關(guān)文章:
PHP的基礎編程與應用11-20
php多進(jìn)程編程詳解201711-12
隊列在編程中的實(shí)際應用(php)-php技巧11-20
《PHP編程最快明白》第八講:php啟發(fā)和小結11-17
關(guān)于編程之打開(kāi)PHP文件的方法11-24
關(guān)于編程之PHP常用MySql操作的方法11-25
關(guān)于編程之php三元運算符的知識點(diǎn)11-24
探索結對編程08-20
高級數控編程:子程序調用及編程舉例08-29