PHP開發注意事項總結_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:PHP strtotime函數用法、實現原理和源碼分析
      這篇文章主要介紹了PHP strtotime函數用法、實現原理和源碼分析,本文講解了strtotime函數的一些用法、strtotime函數的實現基本原理、strtotime(-1 month)求值失敗的原因等內容,需要的朋友可以參考下 源碼位置:\ext\date\php_date.c 代碼如下: /* {{{ proto int strtot

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

        代碼如下:


      <!--p
      //不要這樣做
      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){
      include(“somefile.txt”);
      }
      但不管$something取何值,下面的代碼將把文件somefile包含進文件里:
      if($something){
      require(“somefile.txt”);
      }

       

      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命令行用法
      這篇文章主要介紹了淺談php命令行用法的相關資料,需要的朋友可以參考下 Php是一個非常流行的web服務端腳本語言。其實,php不僅僅可以在web服務器中充當重要角色。在命令行一樣可以執行。 本文中,筆者為各位介紹下php在命令行中的使用方法。 1、 查看php的版本、配置

      來源:模板無憂//所屬分類:PHP教程/更新時間:2015-02-05
      相關PHP教程