转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
PHP 5.0 的变化与PHP 6.0 展望         ★★★★

PHP 5.0 的变化与PHP 6.0 展望

作者:闵涛 文章来源:闵涛的学习笔记 点击数:714 更新时间:2009/4/23 11:03:12
   目前,大多数PHP安装还是使用PHP 4.x版本。实际上,PHP 5.0已经出台一段时间了,而如今PHP 5.1.1也刚刚发行。如果你还没有升级到这些新版本,那么让我们一同看一下在新版的PHP中的变化,并在最后讨论对于PHP 6所期望的特性。

  一、PHP 5.0中的变化

  作为一个全新的版本号,在PHP 4和PHP 5之间存在许多实质性的区别。大多数的炒作主要围绕被重新改写过的新的对象模型。PHP 5版本更为完整并且运行性能更为良好。在PHP 4中,对象其实仅是一个粗糙的数据类型,并且是值引用的。在试图保持尽可能多的向后兼容性的同时,在PHP 5中,设置zend.ze1_compatibility_mode可以允许与版本4中方法的兼容。当然,PHP 5也存在一些向后不兼容的改变,具体包括:

  ·新的保留下来的关键字大多数与对象模型相关(exception,final, php_user_filter,interface,implements,extends,public,private,protected,abstract,clone,try,catch,throw)。在PHP 4中保留的两个单词不再存在(cfunction,old_function)。

  ·如果一个对象没有任何属性,那么它不再为空(empty)。

  ·现在array_merge()函数只接收数组。

  ·类可以在使用前声明(依赖于具体情况)。

  ·get_class(),get_parent_class()和get_class_methods()现在能够返回一个大小写敏感的结果,而以前的返回结果都是小写的。

  ·strrpos()和strripos()现在使用整个字符串。例如,var_dump(strrpos('ABCDEF','DAF'))将在PHP 4中返回int(3),而在PHP 5中返回bool(false)

  ·如果$_SERVER存在,它将用argc和argv进行填充-这就允许CLI版本总是可以存取这些数据。

  ·当传递一个无效的IP地址时,ip2long()返回FALSE而不是-1。

  ·定义在一个包括文件中的函数现在能够在任何时刻为主文件所调用。如果文件两次被包括(这时函数已经被定义了),PHP 5也将发出一个致命的错误。

  ·require_once()和include_once函数现在考虑到了Windows大小的不敏感性,并且将每次仅包括一个文件-即使该函数以不同大小写的文件名被调用多次。

  ·摆脱了原来PHP 4中的警告。新的PHP 5在遇到一个无效的字符串偏移量时将抛出一个错误。
  
  ·Tokenizer扩展不再定义闲置的T_ML_COMMENT常量。

  注意,这些看似较多的不兼容的变化其实并不大,而且如果你想把原有代码移植到PHP 5中的话,有可能只对你的脚本作极少量的修改即可。PHP 5为做许多事情提供了更好的方法,但是如果你的目的仅是为了能使程序运行,那么你不会遇到太多的麻烦。在PHP 5中的另外一些变化有:

  ·在命令行CLI和CGI脚本作了少许变化,有效地提高了新的CLI地位的重要性。

  ·引入大量的新函数,其中许多是用于处理数组、字符转换和流操作的。

  ·缺省情况下,MySQL客户端库没有与PHP 5绑定到一起。而是,包括了SQLite扩展-它基本上是一微型数据库引擎,其目的是消除任何设置和管理的需要。

  ·新加了mysqli(MySQL增强扩展)(缺省地没有包括在内),为的是充分地利用MySQL 4.1及以上版本的优势。

  想更全面地了解从PHP 4到PHP 5的变化,你可以参考PHP网站上的官方档案。

  二、PHP 5.1.x中的变化

  在本文成文时,刚刚发行PHP 5.1.1(在广为争论的5.1.0出台后不久)。该版本在PHP邮件列表中引起一阵小的骚乱。在5.1.0版本中,某些关键的变化被匆忙地包括进一个随后发行的候选版本中。一切似乎都静悄悄的,直到最后的发行版才引起酣然大波。然而,这些变化在5.1.1中被还原以防止出现pear::date冲突。

  ·如今,闪电般登场的PDO成为PHP核心的一部分。要更多地了解与PHP相关的抽象层知识,可以参考《Database Abstraction in PHP》或者PHP网站上的官方档案。

  ·PDO MySQL驱动程序现在成为存取MySQL的推荐方法-在缺省情况下,并不启用老式的mysqli和mysql扩展。

  ·PHP 5.1比5.0版本在性能上也大大改进。

  ·如前所提及的,日期/时间支持在5.1.0版本中被重写,而在5.1.1版中又被还原。也许以后不久还会有所变化-尽管都是经过仔细计划的。

  ·在PHP 5.0到PHP 5.0.4版本阶段,是支持抽象的私有方法的。然而,现在它们都被取消了。

  ·现在,不允许重复声明一个类常量。下面代码在5.1中不会工作并将抛出一个E_ERROR错误。

<?php
 class anything {
  const const_name = 'value';
  const const_name = 'value2';
 }
?>
  ·14个更旧的扩展被从PHP核心删除。这些包括 ext/cpdf,ext/dbx,ext/dio,ext/fam,ext/ingres_ii,ext/ircg,ext/mcve,ext/mnogosearch,ext/oracle,ext/ovrimos,ext/pfpro,ext/w32api,ext/yp,sapi/activescript。所有这些还可用于PECL中,尽管并不是所有这些扩展都能得到积极维护。

  ·在参考引用的管理上也有所变化。以前我们可以以参考引用方式发送、赋值或返回变量-其实它们应该以值的形式返回。这些包括常数、自身以值形式返回的函数或一个表达式的结果。这里有一个例子:

<?php
$var1 = "value";
function return_val() {
 global $var_name;
 return $var_name;
}
$var2 = &;return_val();
?>
  这段代码过去是可以工作的(直到5.0.4版本),但是现在在5.1版本中会抛出一个E_STRICT异常。

  也许5.1.x不久也会退场,但是其中引入了许多有价值的改进-PDO的引入可能是最值得称道的。要详细了解PHP文档中的更改日志,可以看一下这里有关PHP 5.1(和早些版本)变化的详尽列表。

15a


[MySql]PHP存取 Mysql 数据乱码终极解决方案  [Web开发]PHP提示Notice: Undefined variable的解决办法
[Web开发]PHP 大小写函数  [Web开发]PHP的sleep函数关闭窗口后是否继续运行?
[Web开发]教你如何在PHP开启gzip页面压缩实例介绍  [Web开发]PHP过滤HTML字符串的常用函数使用方法介绍
[Web开发]PHP采集程序常用函数大全  [Web开发]用PHP实现Javascript的escape(),unescape()的方法
[Web开发]常见的PHP截取字符串函数整理  [聊天工具]Foxmail 6.0 Beta2最新技巧三则_联络工具_Foxmail…
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台