1 頁 (共 1 頁)

程式設計師需要注意的PHP 5.4之後的修改

發表於 : 週二 2月 19, 2013 10:35 am
布魯斯
1. Safe mode 不再被支援
2. Magic quotes 正式被移除,由於此設定已被移除,所以 get_magic_quotes_gpc() and get_magic_quotes_runtime() 這兩函式都會直接 return FALSE;
3. php.ini 正式移除 register_globals and register_long_arrays 兩項設定,這就不必多說了,遇到 POST 或 GET 資料,請大家全部改用 $_POST 或 $_GET
4. 移除 Call-time pass by reference 功能
5.在 date and time extension,timezone 不再使用 TZ environment variable,進而取代用 php.ini 裡的 date.timezone 或者是使用 php date_default_timezone_set() function,如果都沒有設定,PHP 將會吐出 E_WARNING 訊息
6. isset() 跟 empty() 變化,isset 用來判斷變數是否存在,empty 用來判斷變數是否為空值,在 5.4 比較值得注意的地方是 isset on string 的用法。
7.禁止 super globals 變數當作任何 function 參數
8.移除 session_is_registered(), session_register() and session_unregister() function。
判斷 Session 是否存在:

代碼: 選擇全部

if (isset($_SESSION['foo']))
{
    echo 'session is exist';
}
註冊 Session

代碼: 選擇全部

$_SESSION['foo'] = 'bar';
移除 Session

代碼: 選擇全部

unset($_SESSION['foo']);
新功能 (New features)
1.short_open_tag 不需要設定就可以支援
2. 支援 Class member access on instantiation has been added