PHP5.3与5.5废弃与过期函数整理汇总
很多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参数.使用新的时区处理函数替代.
PHP5.4:
mcrypt_generic_end() mysql_list_dbs()
PHP5.5:
mcrypt_cbc() mcrypt_cfb() mcrypt_ecb() mcrypt_ofb()
其中,PHP5.3是废弃函数的开始,很多常用的以前的正则ereg全部替换preg,但是魔术引号。居然也从PHP5.3开始弃用,PHP5.4就移除了。这个算是PHP5.3的一个大变动吧。
PHP5.4开始新增了很多特性,这个大家可以网上搜索下,新增很多特殊写法。可能按照新写法,老程序员就看不太懂啦~~~
至于PHP5.5,居然把MYSQL这个扩展去掉了,建议使用MYSQLI或者PDO!!用了5.5很多程序都会报错,提示mysql_connect即将过期!!会看到如下错误:
Deprecated:mysql_connect():Themysqlextensionisdeprecatedandwillberemovedinthefuture:usemysqliorPDOinsteadinE:testnew6.phponline6
PHP5相对于4的跨进最大的就是类的部分,而影响更多的就是废弃这些老习惯的东西吧。虽然版本一直在升级,但是终究市场上还是大量的5.1.6-5.2.17。5.3开始废弃很多特性,这就导致了很多程序也不敢直接上,5.5.直接秒杀了大量的开源产品!