PHP6
在服务器端执行、嵌入到HTML文档的脚本语言
PHP 是一种在服务器端执行,嵌入到HTML文档的脚本语言,早期的风格类似于C语言Perl语言,被广泛的运用于网络开发中。PHP6是下一代PHP版本,主要特性为支持Unicode标准。2015年6月11日,PHP官网发布消息,正式公开发布PHP7第一版的alpha版本。
定义
2007年在巴黎举行的PHP开发者大会中,PHP6开发的消息开始流传开来。于PHP大会讨论的PHP6将有很大幅度的变化,但这只是草案阶段,并不代表所有会议的记录都会随着PHP6的揭晓而包含在变更中,也就是说,在揭晓 PHP6之前,还是会有异动的情形,但是可以确定的是下面所列的数项变化,将会随着PHP6一同面世(当然不是百分百咯)赶快来看看这些新特征吧:
1、支持Unicode。Unicode是有其必然,虽然Unicode占用较多的空间,但Unicode带来的便利性,远超过占用空间的缺点,尤其在国际化的今天,硬件设备越来越强大,网速也大幅度的提升,这么一点小小的缺点是可以忽略的。另外一点,PHP也可以在.ini文件中设定能不能开启支持Unicode,决定权在你自己,这是一个不错的点子,关掉Unicode的支持,PHP的性能并不会有大幅度的提升,主要的影响在于需要引用字符串的函数。
2、Register Globals 将被移除这是一个主要的决定,老的PHP使用者会觉得Register Globals蛮方便的,但是却忽略了Register Globals会带来程序上安全性的隐患,大多数的主机上此项功能是关闭的,印象中从PHP4.3.x版开始,此项默认配置值即是关闭状态,PHP6正式移除Register Globals也代表着如果程序是PHP3时代的产物,将完全不能运用,除了改写用途外,别无他法。
3、Magic Quotes 将取消Magic Quotes主要是自动转义须要转义的字符,此项功能移除也符合大多数PHP开发者的心声。
4、Safe Mode 取消。老实说,这个模式不知道哪里不好,取消就取消吧,反正也用不到。
5、’var’ 别名为 ‘public’,在类中的var声明变成public的别名,相信是为了兼容PHP5而作的决定,PHP6现在也可以称作为OO语言了。
6、通过引用返回将出错未来通过引用返回编译器将会报错 例如 =& new b()、function &c(),OO语言默认就是引用,所以不须要再运用 &了。
7、zend.ze1 compatbility mode 将被移去(Zend.ze1相容模式将被移去),PHP5是为兼容旧有PHP4,所以在.ini中可选择是否开启相容模式,原由在于PHP5运用的是第二代分析引擎,但是相容模式并不是百分之百能分析 PHP4语法,所以旧时代的产物,移除。
8、Freetype 1 and GD 1 support 将不见这两个Libs存在了很久,php6将不再支持,况且GD1早已被现在的GD2取代了。
9、dl()被移到 SAPI 中dl()主要是让设计师加载extension Libs,现在被移到 SAPI 中。
10、Register Long Array 去除 从PHP5起默认是关闭,在PHP6中正式移除。
11、一些Extension的变更例如 XMLReader 和 XMLWriter 将不再是以Extension的方式出现,他们将被移入到PHP的核心之中,并且默认是开启,eregextension将被放入PECL,代表着它将被移出PHP核心,这也是为了让路给新的正则表达式extension,此外,Fileinfo extension 也将被导入PHP的核心之中。
12、APC将被导入核心这是一个提高PHP性能的功能,现在它将被放入PHP核心中,并且可以选择是否启用APC。
13、告别ASP风格的起始标签原来是为了取悦ASP开发者转向运用 PHP,现今已经不再须要这种做法了。
最后,别期望PHP6的性能可以彻底超过PHP5,有可能PHP6的执行效率会比PHP5还要来得慢,但是可以预期的是,PHP开发小组将会努力的完善PHP6,超越PHP5。
发布时间
在编写这段文字的时候已经到了2013年的圣诞夜,但php6还是没有出来,我们也不必灰心,因为从提出php6计划的2007年至今php并没有停止前进的步伐,php的版本已经更新到了5.5.7,当时设想的很多特性已经在php5.3与php5.4中实现,包括命名空间、移除rigester globals等,而且很加入了许多新特性,比如支持Trait、引入yield关键字支持generators、精简数组语法、函数类型提示的增强等,php的性能也有较大的提高,内存的使用不断减少。
至于php6为什么迟迟未能发布,从网络透露的消息来看主要有几点:
1、开发小组认为,如果不能完全解决Unicode就不能称之为php6;
2、当初提出开发php6的草案有点操之过急,需要解决的问题超出当时想像;
3、开发成员并未对php6展现出100%的热情,从另一个方面来说,解决Unicode并非是当前最重要的事情;
4、除了unicode,当初提出的草案要点在现在的php5中基本实现,可以说php5.4或php5.5就可称之为php6。
在unicode方面,php小组基本都有了明确的解决方案,比如mbstring函数在不断改进,只是这些与unicode相关的进程并未集成到语言当中,因此,php6的诞生只是顺理成章的问题。
2015年6月11日,PHP官网发布消息,正式公开发布PHP7第一版的alpha版本。
上PHP7原因
最广为使用的直译式语言PHP终于有最新正式版的消息了,经过PHP社群核心贡献者投票,超过7成的人同意最新的PHP版号将是PHP7而非PHP6。从2005年开发至2010年终止的PHP6,已在这几年陆续将新功能并入PHP5.3以及PHP5.4中。
PHP社群核心参与者Andrea Faulds与Zeev Suraski在PHP的Wiki上,共同发表文章表示,PHP6的开发遇到了一些问题,导致一直没办法释出正式版本(General Availability),他们认为PHP6是一个失败的专案,现在是该进到PHP7的时候了。PHP7原先是PHP社群中的惠新辰与Dmitry Stogov私下进行的PHPNG专案,后来专案较成型后公开而受大家所接受,并朝下一个PHP接班版本发展。
最新修订时间:2024-05-07 11:50
目录
概述
定义
参考资料