天天看點

25個對php初學者非常有用的php技巧

在sdk.cn上看到一篇文章,感覺還不錯,是一篇譯文。

原文連結:https://sdk.cn/news/2840  (文章标題:40+個對初學者非常有用的PHP技巧(一))

隻有25個技巧,第二部分暫時沒找到。目錄如下:

  • 1.不要使用相對路徑,要定義一個根路徑
  • 2.不使用require,包括require_once或include_once
  • 3.在應用程式中維護調試環境
  • 4.通過會話傳播狀态消息
  • 5.讓函數變得靈活
  • 6.省略結束的php标簽,如果它是腳本中的最後一行
  • 7.在一個地方收集所有輸出,然後一次性輸出給浏覽器
  • 8.當輸出非HTML内容時,通過header發送正确的mime類型
  • 9.為MySQL連接配接設定正确的字元編碼
  • 10.使用帶有正确字元集選項的htmlentities
  • 11.不要在你的應用程式中gzip輸出,讓apache來做
  • 12.從php echo javascript代碼時使用json_encode
  • 13.在寫入任何檔案之前檢查目錄是否可寫
  • 14.改變應用程式建立的檔案的權限
  • 15.不要檢查送出按鈕值來檢查表單送出
  • 16.在函數中總是有相同值的地方使用靜态變量
  • 17.不要直接使用$ _SESSION變量
  • 18.封裝實用輔助函數到一個類中                                     (防止函數重名)
  • 19.一些傻瓜式技巧
  • 20. 使用array_map快速處理數組                                     (好函數)
  • 21.使用php過濾器驗證資料
  • 22.強制類型檢查                                                               (并不贊同,原因見文末)
  • 23.使用set_error_handler()将Php錯誤寫入到檔案      (養成記日志的習慣)
  • 24.小心處理大型數組                                                       (防止記憶體溢出)
  • 25.在整個腳本中使用單一的資料庫連接配接                          (new過的類,記的置空)

應該是文章時間比較早的緣故,有一些用法略微過時。不過整體來說值得學習,不僅僅是初學者,很多已經工作了好長時間的人,也不見得能做到這些點。

對于第16條靜态變量,鄙人認為初學者應該盡量少用,以免遇到問題。特定的情況下可以用,但要小心函數的調用。

本人對其中22條,稍有異議:

echo (int) ( (0.1+0.7) * 10 );
           

上面這行代碼的結果?     8?      no !      結果是:7

不要将未知的分數強制轉換為 integer,這樣有時會導緻不可預料的結果。

上面代碼可以改為: $num = (0.1 + 0.7) * 10;     echo (int) $num;

在進行強制類型轉換的時候要慎重!大數值,高精度,分數都要慎用!在引用一段話:

PHP在7後引入了強類型,強類型的目的是為了提升PHP的解析效率,但PHP的本質定義還是弱類型語言,即便是PHP7後也并沒有強制應用強類型。關于在開發過程中如何選擇PHP的強類型還是弱類型,應該鑒于以下幾點考慮:

1、使用強類型

①目前系統架構是否以效率高作為出發點?如果是,那麼盡量使用強類型

②目前系統團隊是否已經在前面使用了強類型?如果是,那麼應該繼續遵循使用強類型

2、不使用強類型

①隻是項目疊代更新,盡量不要使用強類型

②PHP版本沒有升到7以上,不要使用強類型

③考慮版本向下相容性,不要使用強類型

總之,除非是有必要使用強類型,一般都會選擇弱類型,畢竟弱類型能夠讓開發者更加關注業務的實作,進而實作靈活開發。