- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[PHP5.3与PHP5.2开发区别和新特性
PHP 5.3 与 PHP 5.2 开发区别和新特性
时间:2010-09-12 10:12 来源:PHP100中文网 作者:网络 点击: 324 次 【字号:大 中 小】
PHP V5.3 发布已经很久。PHP V5.3 中的新特性 系列文章将持续介绍该发行版提供的令人兴奋的新特性。 第 1 部分 介绍了 PHP 5.3 中对面向对象编程及对象处理所做的更改, 第 2 部分 介绍了闭包函数及 lambda 函数。 第 3 部分 探讨了名称空间,这是该 PHP 版
???PHP V5.3? 发布已经很久。“PHP V5.3 中的新特性” 系列文章将持续介绍该发行版提供的令人兴奋的新特性。???? 第 1 部分 介绍了 PHP 5.3 中对面向对象编程及对象处理所做的更改,???? 第 2 部分 介绍了闭包函数及 lambda 函数。???? 第 3 部分 探讨了名称空间,这是该 PHP 版本中最令人期待也是最具争议的特性之一。???? 第 4 部分 中,我们进一步研究了 Phar,这是一种用于 PHP 的归档格式。
简介
本系列着重介绍 PHP V5.3 中的新特性,例如名称空间、闭包、对象管理、面向对象编程和 Phar。虽然这些动人的新特性作为该语言的增补广受欢迎,但 PHP V5.3 同时也是为进一步优化 PHP 而设计的。它构建在流行、稳定的 PHP V5.2 的基础上,并对该语言作了增强,使之更加强大。在本文中,了解 PHP V5.3 中的变化,以及从 PHP V5.2 升级到 PHP V5.3 时需要考虑的一些事情。
语法变化
该语言新增了名称空间和闭包(在 第 2 部分 和 第 3 部分 中有讨论到),增加了更多的保留字。从 PHP V5.3 开始,namespace 不再用作标识符。closure 类现在是一个保留类,但它仍然可以作为有效的标识符。清单 1 显示了一些例子,由于新增的保留字的缘故,有些语句在 PHP V5.3 中不再有效。
清单 1. 无效的 PHP 语句
// the function definition below will throw a fatal error in PHP 5.3, but is perfectly
// valid in 5.2
space()
{
....
}
// same with this class definition
class Closure
{
....
}
PHP V5.3 中还增加了对 goto 语句的支持。现在,goto 是一个保留字。goto 语句在现代语言中不太常见(您也许记得在 BASIC 中如何使用 goto),但是有些情况下,goto 语句的确方便。清单 2 显示了一个如何使用 goto 语句的例子。
清单 2. PHP 中的 goto 语句
echo This text will get outputted;
goto a;
echo This text will get skipped;
a:
echo This text will get outputted;
goto 的一个可能的用例是中断深度嵌套的循环和 if 语句。这将使代码阅读起来清晰很多。
函数和方法的变化
在 PHP V5.3 中,函数和方法没有大的变化,但还是有一些增强,以帮助解决 PHP 中的一些突出问题并提高性能。本节讨论一些较为显著的变化。
在之前版本的 PHP 中,数组函数 atsort、natcasesort、usort、uasort、uksort、array_flip 和 array_unique 可以以参数形式传递对象而不是数组。然后,这些函数将对象的属性当做数组的键和值。PHP V5.3 中不再支持这一点,所以需要首先将对象转换成数组。清单 3 展示了如何修改代码。
清单 3. 为某些函数修改代码,将对象转换成数组
$obj = new stdClass;
$obj-a = 1;
$obj-b = 2;
$obj-c = 3;
print_r(array_flip($obj)); // will NOT work in PHP 5.3, but will in PHP 5.2
print_r(array_flip((array) $obj)); // will work in PHP 5.3 and 5.2
魔术类方法现在受到更严格的限制。下面的方法必须具有公共可见性:
__get
__set
__isset
__unset
__call
现在,当在静态上下文中使用 __cal
您可能关注的文档
最近下载
- 人力资源管理课后答案德斯勒.docx
- 马克思主义新闻观十二讲之第九讲实现新闻传播权利与社会责任的统一.docx VIP
- 国际航运管理 全套课件.PPT VIP
- 财务共享服务教学课件4第四章 费用报销流程.pptx VIP
- 手术患者意外伤害预防.pptx VIP
- 2025年新人教版数学7年级上册整册同步教学课件.pptx
- 广告理论与实务:各类广告媒介PPT教学课件.pptx VIP
- 第1课 课题一《课外生活小调查·周末生活我采访》(教学设计)-2024-2025学年三年级上册综合实践活动浙教版.docx VIP
- 广告理论与实务:印刷媒体广告PPT教学课件.pptx VIP
- 铭记历史·开创未来--2025-2026学年高一上学期纪念抗日战争胜利80周年爱国主义教育主题班会.pptx VIP
文档评论(0)