現在寫 PHP6-compatible 的一些技巧

Becoming PHP 6 Compatible 這篇裡面提到的五個技巧,現在遵循這些習慣,等到 PHP6 正式推出的時候程式碼才不會改太多:

  • 不要再依賴 register_globalsregister_globals$_GET$_POST$_COOKIE 這三個的變數內容直接對應到全域變數。這在目前的 PHP4 與 PHP5 預設都是關閉的,但還是有文件書籍會「建議」你打開。在 PHP6 中,這個功能將直接消失。不過,還是可以透過 達到一樣的效果。
  • 不要使用 magic_quotes:這個功能在目前的 PHP4 與 PHP5 預設是開啟的,但在 PHP6 將會消失 (而非改為關閉),所以,在開發軟體時最好以 magic_quotes 關閉的情況下開發。
  • 不要使用 $HTTP_POST_VARS$HTTP_GET_VAR,改用 $_POST$_GET。這點可以用編輯器的字串代換很快的換完。就算真的是很多的程式碼,也可以一次換一些。
  • 使用 preg_*,而不要再用 ereg_*。現在就用 preg_* 是因為執行速度比 ereg_* 快,另外在 PHP6 將會廢掉 ereg_*。不過應該會有人寫出 PECL extensions 放回來。
  • 直接拿原作者的 code 比較清楚:

    $a = & new object(); // Do not do
    $a = new object(); // Do this as of PHP 6

上面所提到的改變,會強迫使用者不能再用壞習慣寫程式,對於 的發展會是相當好的事情。

This entry was posted in Computer, Murmuring, Network, Programming, Security, Software, WWW. Bookmark the permalink.

8 Responses to 現在寫 PHP6-compatible 的一些技巧

  1. Pingback: 沒力小僧,羞道人的糟糕日誌 » PHP6 compatible

  2. 笨笨的小B says:

    我還是很好奇第五點:為什麼建立物件時在PHP6相容時建議不要使用Reference operator?好處和壞處?

  3. 相容的原因是 PHP6 會將這個語法視為錯誤語法。在 PHP5 建議不要用是因為物件化的理念與 reference 有矛盾。

  4. Pingback: Yi-Feng Tzeng’s Blog » Blog Archive » 升級至 PHP6 應注意的事項

  5. HACGIS says:

    加上一點,把mb_開頭的函數改回不帶mb_開頭的函數,因為PHP6有了Unicode模組,將會把MBString模組廢掉~

  6. Pingback: [FreeBSD] update apache -> 2.2.15, PHP -> 5.3.2, and MySQL downgrade to 5.1.9 | 小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY

  7. Pingback: 枫芸志 » PHP6取消了get_magic_quotes_gpc函数

  8. Pingback: PHP6取消了get_magic_quotes_gpc函数 - 大愚网 | 专业的计算机技术服务网

Leave a Reply

Your email address will not be published. Required fields are marked *