




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
从PHP4移植到PHP5网站程序哪些需要修改 尽管大部分PHP4的代码应该不用修改就能运行,还是应该留意以下不向下兼容的改变,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕业生考试网! ■有了一些新关键字。 ■strrpos()和strripos()如今使用整个字符串作为needle。 ■非法使用字符串偏移量会导致E_ERROR而不是E_WARNING。一个非法使用的例子:$str='abc';unset($str[0]);. ■array_merge()被改成只接受数组。如果传递入非数组变量,对每个此类参数都会发出一条E_WARNING信息。要小心因为你的代码有可能疯狂发出E_WARNING。 ■PATH_TRANSLATED服务器变量在Apache2SAPI中不再暗中设定,这和PHP4中的情形相反,如果Apache没产生此值则其被设为和SCRIPT_FILENAME服务器变量一样的值。此修改是为了遵守?CGI规范。更多信息见?bug#23610,并参考手册中$_SERVER['PATH_TRANSLATED']的说明。此问题也影响到PHP>=4.3.2的版本。 ■Tokenizer扩展不再定义T_ML_COMMENT常量。如果把error_reporting设为E_ALL,PHP将产生一条消息。尽管T_ML_COMMENT从来都没用到过,还是在PHP4中定义了。在PHP4和PHP5中//和/**/都被解析为T_COMMENT常量。但是PHPDoc风格的注释/***/,自PHP5开始被PHP解析,被识别为T_DOC_COMMENT。 ■如果variables_order包括“S”,$_SERVER应该带有argc和argv被产生。如果用户特别配制系统不创建$_SERVER,那此变量当然就不存在了。改变的地方是不管variables_order怎么设定,在CLI版本中argc和argv总是可用的。本来CLI版不是总会产生全局变量$argc和$argv的。 ■没有属性的对象不再被当成“empty”。 ■有些情况下类必须在使用前被定义。这仅在使用了一些PHP5的新特性(例如interfaces)的时候发生。其它情况下行为都没变。 ■get_class(),get_parent_class()和get_class_methods()如今返回的类/方法名和定义时的名字一致(区分大小写),对于依赖以前行为(类/方法名总是返回小写的)的老脚本可能产生问题。一个可能的解决方法是在脚本中搜索所有这些函数并使用strtolower()。区分大小写的改变也适用于魔术常量__CLASS__,__METHOD__和__FUNCTION__。其值都会严格按照定义时的名字返回(区分大小写)。 ■ip2long()在传递入一个非法IP作为参数时返回FALSE,不再是-1。 ■如果有函数定义在包含文件中,则这些函数可以在主文件中使用而与是否在return()指令之前还是之后无关。如果文件被包含两次,PHP5会发出致命错误,因为函数已经被定义,而PHP4不管这个。因此推荐使用include_once()而不要去检查文件是否已被包含以及在包含文件中有条件返回。 ■include_once()和require_once()在Windows下先将路径规格化,因此包含A.php和a.php只会把文件包含一次。 Example#1strrpos()和strripos()如今用整个字符串作为needle var_dump(strrpos('ABCDEF','DEF'));//int(3) var_dump(strrpos('ABCDEF','DAF'));//bool(false) ?> Example#2没有属性的对象不再被当成“empty” classtest{} $t=newtest(); var_dump(empty($t));//echobool(false) if($t){ //Willbeexecuted } ?> Example#3有些情况下类必须在使用之前定义 //workswithnoerrors: $a=newa(); classa{ } //throwsanerror: $a=newb(); interfacec{ } classbimplementsc{ } ?> PHP5里的新函数。下面是列表: Arrays: ■array_combine()-用一个数组作为键名,另一个数组作为值创建一个新数组 ■array_diff_uassoc()-计算数组的差别,并用用户提供的回调函数作附加的索引检查 ■array_udiff()-用回调函数比较数据来计算数组的差别 ■array_udiff_assoc()-计算数组的差

一只****生物
实名认证
内容提供者


最近下载
贵州省城市管理行政执法条例.doc
贵州省城市管理行政执法条例.doc
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种胃肠道超声检查助显剂及其制备方法.pdf
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf