2008年12月23日 星期二

[PHP]現在寫 PHP6-compatible 的一些技巧

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 的發展會是相當好的事情。

補充:
-把mb_開頭的函數改回不帶mb_開頭的函數,因為PHP6有了Unicode模組,將會把MBString模組廢掉~

摘自:http://blog.gslin.org/archives/2007/09/25/1318/

沒有留言:

wibiya widget