做PHP的相信都知道,從PHP5.3開始加入了一個新的報錯級別DEPRECATED,即將廢棄/過期。我們一個個版本來過。
在php5.3被放棄的函數有:
代碼如下call_user_method() (使用 call_user_func() 替代)
call_user_method_array() (使用 call_user_func_array() 替代)
define_syslog_variables()
dl()
ereg() (使用 preg_match() 替代)
ereg_replace() (使用 preg_replace() 替代)
eregi() (使用 preg_match() 配合 'i' 修正符替代)
eregi_replace() (使用 preg_replace() 配合 'i' 修正符替代)
set_magic_quotes_runtime() 以及它的別名函數 magic_quotes_runtime()
session_register() (使用 $_SESSION 超全部變量替代)
session_unregister() (使用 $_SESSION 超全部變量替代)
session_is_registered() (使用 $_SESSION 超全部變量替代)
set_socket_blocking() (使用 stream_set_blocking() 替代)
split() (使用 preg_split() 替代)
spliti() (使用 preg_split() 配合 'i' 修正符替代)
sql_regcase()
mysql_db_query() (使用 mysql_select_db() 和 mysql_query() 替代)
mysql_escape_string() (使用 mysql_real_escape_string() 替代)
mysql_close(); // 將不支持全部關閉, 需要改為:mysql_close($link);
廢棄以字符串傳遞區域設置名稱. 使用 LC_* 系列常量替代.
mktime() 的 is_dst 參數. 使用新的時區處理函數替代.
PHP 5.4
代碼如下mcrypt_generic_end()
mysql_list_dbs()
PHP 5.5
代碼如下 mcrypt_cbc()其中,PHP 5.3是廢棄函數的開始,很多常用的以前的正則ereg全部替換preg,這個還好我以前知道。都替換了,但是魔術引號。。居然也從PHP 5.3開始棄用,PHP 5.4就移除了。這個算是PHP 5.3的一個大變動吧。
PHP 5.4開始新增了很多特性,這個大家可以網上搜索下,新增很多特殊寫法。可能按照新寫法,老程序員就看不太懂啦~~~
PHP 5.5怎麼說呢,今天才發現的~居然把MYSQL這個擴展去掉了,建議使用MYSQLI或者PDO。。。用了5.5很多程序都會報錯,提示mysql_connect即將過期~~~會看到如下錯誤
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in E:testnew 6.php on line 6
PHP5相對於4的跨進最大的就是類的部分,而影響更多的就是廢棄這些老習慣的東西吧。雖然版本一直在升級,但是終究市場上還是大量的5.1.6-5.2.17。5.3開始廢棄很多特性,導致很多程序也不敢直接上,5.5.直接秒殺了大量開源呵呵~~~