現在寫 PHP6-compatible 的一些技巧
2010-06-22
      
      Becoming PHP 6 Compatible 這篇裡面提到的五個技巧,現在遵循這些習慣,等到 PHP6 正式推出的時候程式碼才不會改太多:- 不要再依賴 register_globals:register_globals 將$_GET、$_POST、$_COOKIE 這三個的變數內容直接對應到全域變數。這在目前的 PHP4 與 PHP5 預設都是關閉的,但還是有文件書籍會「建議」你打開。在 PHP6 中,這個功能將直接消失。不過,還是可以透過 extract() 達到一樣的效果。
- 不要使用 
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 
上面所提到的改變,會強迫使用者不能再用壞習慣寫程式,對於 PHP 的發展會是相當好的事情。