PHP7我知道,问题是PHP6去哪儿了?

20151218
使用微信扫一扫查看全文干货

PHP 是一种在服务器端执行,嵌入到HTML文档的脚本语言,早期的风格类似于C语言与Perl语言,被广泛的运用于网络开发中。PHP6是下一代PHP版本,主要特性为支持Unicode标准。2015年6月11日,PHP官网发布消息,正式公开发布PHP7第一版的alpha版本。

PHP7简介

   PHP7是PHP编程语言全新的一个版本,主要在性能方面获得了极大的提升。官方的文档显示,PHP7可以达到PHP5.x版本两倍的性能。同时还对 PHP的语法做了梳理,提供了很多其他语言流行的语法格式。难能可贵的是,做了如此大的改动,PHP7的兼容性还是非常好的。对于绝大多数的应用来讲,可 以不用做修改即可迁移到PHP7版本。




PHP6版本去哪儿了?

   谈到PHP7,大家肯定会问,PHP6版本去哪儿来呢?这个说来话长。早在2005年的时候,PHP社区发起了PHP6的项目,这个项目旨在为PHP提 供完全内置的unicode的支持。但由于种种困难,该项目最终于2010年取消。虽然PHP6这个项目取消了,但大量的功能已经在PHP5.x版本中得 以实现。这里面最重要的就是OOP方面的提升。这也帮助PHP实现了从面向过程到面向对象编程的跨越。市面上也随之出现了一大堆的PHP OOP编程框架。

  后来鸟哥加入到了PHP核心开发小组

  后来鸟哥加入到了PHP核心开发项目,鸟哥发起了PHP解释引擎重构的项目,叫做PHPNG,大家可以参考这篇wiki:https://wiki.php.net/phpng

  PHPNG项目主要是对PHP的引擎进行重构,很快鸟哥的项目组取得了非凡的成就,获得了PHP开发社区的的认可,合并到了PHP的主干,也就是我们现在说的PHP7版本。

  为什么不延续PHP6的序列?

  关于这个问题,PHP官方给出了详细的解释,大家可以参考:https://wiki.php.net/rfc/php6

  1. PHP6版本事实上已经存在了。

  2. PHP6虽然无法发布GA版本,但PHP6已经众所周知。

  3. PHP6已经在很多的公开会议,场合讨论过。

  4. PHP6还被周边的很多社区所周知。(有很多PHP6的书籍)

  5. 使用PHP6会造成很多的困扰。

  6. 版本跳跃在开源软件和商业软件里面也经常见。比如MariaDB跳到10.0,Symantec跳过了13版本。(编者按:windows系列版本也很典型)

  7. 版本6在动态语言届里面通常和失败相关联。PHP6失败了,Perl6失败了。跳出动态语言届,MySQL6早已存在但一直没有发布。(狂笑)

  8. 7在东方和西方文化里面都认为是一个吉祥数字。(狂笑)

  于是就有了牛x的一塌糊涂的PHP7版本。



php6何时发布 编辑

在编写这段文字的时候已经到了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版本[1]  。

为什么跳过PHP6直接上PHP7? 编辑

最广为使用的直译式语言PHP终于有最新正式版的消息了,经过PHP社群核心贡献者投票,超过7成的人同意最新的PHP版号将是PHP7而非PHP6。从2005年开发至2010年终止的PHP6,已在这几年陆续将新功能并入PHP5.3以及PHP5.4中。[2] 
PHP社群核心参与者Andrea Faulds与Zeev Suraski在PHP的Wiki上[3]  ,共同发表文章表示,PHP6的开发遇到了一些问题,导致一直没办法释出正式版本(General Availability),他们认为PHP6是一个失败的专案,现在是该进到PHP7的时候了。PHP7原先是PHP社群中的惠新辰与Dmitry Stogov私下进行的PHPNG专案,后来专案较成型后公开而受大家所接受,并朝下一个PHP接班版本发展。