鸟哥:写在12月3日PHP 7发布之际

昨天,鸟哥在微博上公布PHP 7正式版将于今天发布的消息,掀起了开发者们的激烈点赞。他做开源的时间已有4、5年,参阅的项目也越来越多,此次PHP 7的发布对作者来说也是一个很重要的里程碑,让我们一起见 证这个项目 ...,HTML5中国,中国最大的HTML5中文门户

 

  就在昨天,鸟哥发布微博,确认PHP7正式版将于今天发布!

 

  下载:

  http://php.net/distributions/php-7.0.0.tar.bz2

  https://github.com/php/php-src/archive/php-7.0.0.zip

  暂未有官方说明,详细改进请看:https://github.com/php/php-src/compare/php-7.0.0...master

  PHP 7.0.0 包含最新版本的Zend Engine,包括以下特性:

  提升性能:PHP 7 速度是 PHP 5.6 的两倍

  支持 64 位

  许多重大错误可以进行异常处理

  移除了旧的和不支持的 SAPIs 和扩展

  null 合并操作符(??)

  结合比较运算符 (<=>)

  标量类型声明

  匿名类

 

  做开源也有4、5 年的时间了,从最初的Yaf,到今天的PHP7,我参与的项目越来越多,使用我代码的用户也越来越多,明天就要发布的PHP7,绝对是我从事开源以来的一个最重要里程碑,我应该纪念一下今天,就让我稍微感性一次吧。

 

  PHP 7 项目开始于去年春节的时候,那个时候我们基于PHP-5.5 的Opcache JIT项目,基本上因为无法得到期望的结果而搁置了。在做JIT的时候收集到的信息让我们认识到,基础部分还不够好,并不能很好的支持JIT,所以在2014年2月左右,我们开始了重构项目,当时的希望是说通过重构,能得到30%以上的性提升,为将来的进一步优化提供基础。

 

  那时还没有给这个项目起名字,我们只是试试,那几个月是我最忙碌的时刻,因为只有我们俩个人在这个项目中,我还因为自身微博的工作也比较忙,所以基本上只晚上的时间都扑在了上面。不过好在,我和另外一个人有5个小时的时差,所以很多工作可以串行起来。

 

  随着项目的推进,我们惊喜的发现性能提升比我们想象的还要大,到4 月的时候另外一个人也加入了进来,到5月基本上已经完成了大部分的工作,于是我们公布了这一个成果,定名为PHP NG项目。

 

  但我没想到的是,我们遇到了社区很大的阻力,因为在我们秘密开发PHP NG的时候,社区还并行着一个主要是微软的同学们发起的64位支持的项目,当我们公开PHP NG的时候,他们质疑说,突然拿着这么大的一个Patch出来,没有其他人懂,后续如何维护,如何和64 位支持的分支合并等,继而反对采纳PHP NG分支。

 

  当时我是非常沮丧的,持续好久的争吵也让我感到非常疲倦,最后因为我实在无法排遣,一腔怒火的也不管自己蹩脚的英文,在邮件组回了一封吐槽邮件,呼吁大家珍惜这个性能提升分支。

 

  还有个很好玩的插曲,PHP NG的支持者很多,他们也对这样的争吵很郁闷,某天,有一些支持者就在PHP官网上发布了这样的一个新闻: http://php.net/archive/2014.php#id2014-05-27-1 其中写到:

 

  "When we aren't looking for pictures of kittens on the internet,internals developers are nearly always looking for ways to improve PHP,a few developers have a focus on performance。"

 

  但当天反对者们就说,不行,PHP NG还没有被接纳,要求删除这篇文章,好在考虑到文章已经发出去了,最后就在首页上下掉了这个文章的入口,只是在存档中保留了内容。很多媒体都感受到了这次的乌龙。

 

  争执不下之后,不得已,我们只能发起投票,来决定是否接纳PHP NG。好在,最后投票的时候,绝大部分人都支持了PHP NG项目,并决定以PHP NG为基础,开始我们新版PHP的开发。 当时还没有确定用PHP 6还是PHP 7版本号(后来投票决定PHP 7)。 我现在经常会说这次经历,让我感受到了"民主之痛"。

 

  之后的事情大家就都能看到了,在这近两年的时间里,各种新特性的加入,性能的持续提升,很多以前不合理的地方改进等等,都加入到了PHP 7,让PHP 7越来越丰满。

 

  从最底层的ZVAL的改变,到标量类型提示,从最初的30%的性能提升,到现在超过100%的性能飞跃,每一处变化都让人值得期待。然后经过几次不情愿的跳票,终于,到今天,这一切都将呈现于你面前。

 

  有的时候我会想,我是幸运的,幸运在一直有机会做没做过并且有挑战的事情,幸运在一直能感受到自己的成长,幸运在所做的大部分努力,终究看到了效果,得到了回报。也衷心的希望我的幸运可以激励更多的人参与到开源中来。

 

  未来,我们还会一如既往的致力于提升PHP的性能,提升PHP的品质,让更多的PHPer们,可以持续享受到透明的提升。

 

  最后,做开源这么久,带给了我很多的收获,我要谢谢大家,谢谢这些鼓励,也谢谢那些善意的谬赞。

 

  PS: 本来想等到PHP7发布以后再发的,但是想到可以为它的到来造势,就先发布吧。PHP7 目前已经可以下载,官方宣布考虑到时差问题,后天早上来看吧。目前下载地址: http://php.net/get/php-7.0.0.tar.gz/from/a/mirror ,enjoy!

 

  来源微信公众号:风雪之隅

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

近日,微软宣布开源Chakra的核心组件。Chakra是微软新一代浏览器 Microsoft Edge的JavaScript引擎。相关代码将于2016年1月上传到微软的GitHub账号,项目名称为 ChakraCore,遵循MIT许可协议。 ...,HTML5中国,中国最大的HTML5中文门户。
这篇文章报道的不是“新闻”,因为W3C早已开始着手CSS变量方面的工作。至于Google,则要追溯到11月初,当时该公司主要开发人员之一的Addy Osmani宣布了率先在Chrome Canary中引入对CSS变量的支持。 ...,HTML5中国,中国最大的HTML5中文门户。
25年后,你发的编程知识经验还会增加,但薪水却不加了;25年后,如果你还热爱编程便不会选择转行去当管理人员;25年后,你想和好友去玩耍,而经理却让你加班;那么你是否想过这25年之间做出另一种选择呢? ...,HTML5中国,中国最大的HTML5中文门户。
在经历很长一段时间之后,Adobe终于开始支持用户放弃Flash格式,开始鼓励用户在创作动画时使用HTML5格式,Adobe让“Flash”这一名称在一些公司的流行软件中退休,表明该公司已清楚网络正在发生变化,或许会变得更好 ...,HTML5中国,中国最大的HTML5中文门户
在HTML5中 标签加入了一个新的属性ping。设计者加入它的理由是, Ping可以使浏览器对外发送一个异步请求,通常用来广告的追踪、点击率统计或完成一次HTTP重定向。但是听到监视、追踪这个词,你是不是也觉得有点不舒 ...,HTML5中国,中国最大的HTML5中文门户
2015年12月TIOBE编程语言排行榜,java居高不下,有望成为今年的年度语言,C一直处于下滑趋势,Objective-C暴跌8%,另一个有趣的举动是Python迅速崛起,一下子上升了4名。 ...,HTML5中国,中国最大的HTML5中文门户。