監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 甲方項目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關閉

養(yǎng)成幾條PHP編程好習慣

申請免費試用、咨詢電話:400-8352-114

 1、運用單引號括起來的字符串

  當運用雙引號來括字符串時,PHP分析器會對其進行變量交換、轉義等操作,如“ ”。假如你只想輸出一個根本的字符串,就用單引號吧,如許會節(jié)流一些資本。當然,假如你需求進行變量交換的,那就必需用雙引號了,但其他狀況下照樣用單引號吧。

  2、字符串的輸出

  你以為以下哪一條語句的運轉速度最快?

<span style="COLOR: rgb(0,100,0)">  print "Hi my name is $a. I am $b";

<span style="COLOR: rgb(0,100,0)">  echo "Hi my name is $a. I am $b";

<span style="COLOR: rgb(0,100,0)">  echo "Hi my name is ".$a.". I am ".$b;

<span style="COLOR: rgb(0,100,0)">  echo "Hi my name is ",$a,". I am ",$b;

<span style="COLOR: rgb(0,100,0)">  echo 'Hi my name is ',$a,'. I am ',$b;

  也許這看起來很奇異,但現實上最終一條的運轉速度是最快的。print比echo要慢,在字符串中進行變量交換時會慢,而銜接字符串要比用逗號銜接來得慢,最終一句則是第一個習氣的表現。所以,不在字符串中進行變量交換不只會加速順序運轉速度,也會讓你的代碼在任何語法高亮顯示的編纂器中顯得更為易懂(變量會被高亮顯示出來)。很少人曉得echo的參數可以用逗號銜接,且速度會比字符串銜接要來得快。最終再用上第一個習氣,那這條語句就十分好了。

  3、在數組索引中運用單引號

  正如你在上面的測試題中所看到的,我指出了$x[sales]從嚴厲意義上來說是錯誤的,索引應該被括起來,即$x['sales']。這是由于PHP 會將沒有括起來的索引識別為“裸”字符串,并把它分析為一個常量。當找不到該常量的界說時,才將其分析為一個字符串,所以這條語句才是可運轉的。把索引括起來可以省去這局部任務,假如未來正好要用這一字符串界說常量時也就不會有錯誤了。我甚至據說如許做要快七倍左右的工夫,固然我沒有親身測試過。更多關于這一話題的評論,請看PHP手冊“數組”一章中的的“數組的能與不克不及”一節(jié)。

  4、不要運用開端標記的縮寫方式

  你正在運用如許的符號嗎?“

  5、盡量不要運用正則表達式

  在進行慣例的字符串操作時,盡能夠不要去運用正則表達式(preg和ereg系列函數)。str_replace函數要比preg_replace快得多,甚至strtr函數也要比str_replace來得快。省去這些不用要的費事吧,你的老板會感激你的。

  6、不要在輪回聲明中運用函數

  這個問題不單單呈現在PHP中,你可以在其他言語的代碼中常常看到:

<span style="COLOR: rgb(0,100,0)">  差:for($i=0;$i

<span style="COLOR: rgb(0,100,0)">  好:$count=count($array);for($i=0;$i<$count;$i++){...}

  這因該很好分析,但很多人就是想少寫一行代碼而糜費了系統(tǒng)資本。假如在輪回聲明中運用了count函數,那每次輪回都邑挪用一次。假如你的輪回次數良多,那就會糜費十分多的工夫。

  7、永遠不要運用register_globals和magic quotes

  這是兩個很陳舊的功用,在那時(十年前)也許是一個好辦法,但目前看來并非如斯。老版本的PHP在裝置時會默許翻開這兩個功用,這會惹起平安破綻、編程錯誤及其他的問題,如只要用戶輸入了數據時才會創(chuàng)立變量等。現在這兩個功用都被舍棄了,所以每個順序員都應該防止運用。假如你曩昔的順序有運用這兩項功用,那就盡快將其剔除吧。

  8、必然要對變量進行初始化(這里的“初始化”指的是“聲明”——譯者注)

  當需求沒有初始化的變量,PHP分析器會主動創(chuàng)立一個變量,但依托這個特征來編程并不是一個好主見。這會形成順序的粗拙,或許使代碼變得另人疑惑,由于你需求探尋這個變量是從哪里開端被創(chuàng)立的。別的,對一個沒有初始化的變量進行遞增操作要比初始化過的來得慢。所以對變量進行初始化會是個不錯的主見。

  9、對代碼進行注釋

  這個問題曾經提過良多次了,但再屢次也不敷。我曉得有些當地是不聘用紕謬代碼進行注釋的順序員的。我在前一次任務面試后和副總、面試官一同閱讀我寫的代碼,當他們對我所做的代碼注釋印象深入,還調查了一下我的這一習氣。一天之后,我獲得了這個任務。

  我曉得有些自稱為PHP巨匠的人宣稱本人的代碼寫得很好,不需求添加什么注釋。在我看來,這些人都是渣滓。學一寫注釋的標準和技巧,熟習一下phpDocumentor或Doxygen之類的注釋輔佐軟件,都是值得的。

  10、遵照一個編程標準

  關于這一點,是你需求在面試中訊問你潛在的老板的,問問他們正在運用什么編程標準。PEAR?Zend?內部標準?要說起你正在運用的編程標準,不論是你本人創(chuàng)立的,照樣當前遍及盛行的一種。關于PHP這種松松垮垮的言語來說,假如沒有一個好的編程標準,那么那些代碼就會看起來想一堆渣滓。發(fā)臭的,令人作嘔的渣滓。一些根本的標準包羅空格標準、打括號匹配、定名作風等。這對任何一個追求高質量的代碼的人來說都是必需的。

  有人說:“我厭惡你的4個空格的縮進。”我要說,什么?用4個空格來縮進?這比用制表符過占用3個字符的空間。更主要的是,只需是運用比記事本高級的編纂器,你可以自界說制表符的縮進值。所以每個順序員都可以以其最習氣的方法來看代碼??梢詴r設置為4,也可以設置為0(假如你是個受虐狂)。歸正我不在乎,但你就是不克不及用空格來縮進!

發(fā)布:2007-03-31 15:14    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
新余OA
聯系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢

泛普新余網站建設公司其他應用

新余軟件開發(fā)公司 新余門禁系統(tǒng) 新余物業(yè)管理軟件 新余倉庫管理軟件 新余餐飲管理軟件 新余網站建設公司