关于PHP7你怎么看

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于PHP7你怎么看?

提到PHP,肯定会有人说这是世界上最好的编程语言。单说流行程度,目前全球超过81.7%的服务器后端都采用了PHP语言,它驱动着全球超过2亿多个网站。去年底PHP7正式版发布,广大PHP用户会如何看待这一新版本呢。

(一)PHP7简介

PHP7是11年来首次发布的PHP主版本,PHP上一次发布主版本是在2004年,当时发布的是PHP5.0.0。

与这次PHP核心开发人员沉睡已久不同,PHP6曾立志要让PHP支持Unicode字符串。然而开发停滞不前,PHP6计划在2010年被取消了。

自那以后虽然也有一些带着重要新特性的PHP版本发布,比如PHP5.4,但没有哪个真正称得上主版本。

直到2010年Facebook为HipHop编译器揭开面纱。这款编译器可以将PHP转为C++代码,再转为本地机器码,用C++编译器编译。尽管这个想法很好,也改进了PHP的性能,但不实用,因为本地机器码编译PHP脚本耗时太久。

之后Facebook换了另一种方法,他们开发了HHVM(HipHopVirtualMachine),通过JITengine(JustInTime)将PHP代码转换为本地机器码。这使得所耗时间大大减少并且性能得到显著改进。

很显然,Facebook不满意PHP的特性,于是在2014年启动Hack项目,它源于PHP语言却有着很多PHP没有的特性,比如对所有数据类型都进行更严格的类型检查,以及支持内置异步编程。

不久后Zend的DmitryStogov发布了PHP的一个名为PHPNG的分支。

(二)PHP7的主要新特性

PHPNG的初衷是做调查,调查JITengine的引入将对基于PHP版本的ZendEngine有何影响。然而,随着进一步的研究他发现,其他方面的改进能让PHP代码运行得更快。

PHPNG是PHP7的基础,起名叫PHPNG是为了避免与被取消的PHP6混淆。

PHP7新增的其他功能包括:标量值的严格类型、匿名类、嵌套类、编译PHP引擎的可能性以及特定程序优化,好比Wordpress使用了PerformanceGuidedOptimizations(PGO)。

PHP7.0本来计划在10月发布,但是因为一些严重的bug所以推迟到了十二月。

(三)PHP7接受程度调查结果分析

PHP7的发布是PHP世界近年来最令人激动的事之一,因为对其功能有太多的期待,比如上文提到的那些。

许多开发者迫不及待地使用PHP7,比如我们蝉知团队开发的LAMP集成环境一键安装包ZBOX,就是集成了PHP7版本。接下来这个调查就是用于评估PHP程序员是否愿意采用PHP7。

调查主要围绕三个问题:

你是否打算在你的生产中使用PHP7?

你是否打算在你的开发环境中使用PHP7?

你生产中所使用的最新版的PHP是哪个?

526位开发者参与该调查,所以以下结果应该能代表许多PHP程序员的真实反应:

1.你是否打算在你的生产中使用PHP7?

是的,从7.0.0的第一个稳定版上线之前我就开始用了。21 4% 是的,我打算在官方7.0.0版本发布后使用。104 19.8% 是的,我将会在官方发布几周后使用。196 37.3% 不一定,取决于我的客户。44 8.4% 不会,不会很快就用,因为迁移代码需要太多时间。58 11% 不会,我只打算在将来的项目中使用。64 12.2% 不会,除非我的公司强迫我使用,并且不再提供旧的版本。20 3.8% 其他19 3.6%

2.你是否打算在你的开发环境中使用PHP7?

是的,我一直在使用着。41 7.8% 是的,为了测试它的新特性,我试了几次。60 11.4% 是的,只要官方7.0.0版本发布我就会开始使用。218 41.4% 是的,我将会等待几周至几个月,直到我有更多的时间去

112 21.3% 检查它

这取决于我的客户11 2.1% 不会,现在不会使用,我只计划在将来的项目中使用62 11.8%

不会,除非我的公司强迫我使用它,并且我需要修改我的

13 2.5% 代码

其他9 2.7%

3.你生产中所使用的最新版PHP是哪个?

PHP7.0 10 1.9%

PHP5.6 299 56.8%

PHP5.5 111 21.1%

PHP5.4 59 11.2%

PHP5.3 38 7.2%

PHP5.2 5 1%

PHP5.1 0 0%

PHP5.0 1 0.2%

PHP4 0 0%

其他 3 0.6%

(四)PHP7调查结果分析

从第一个问题可看出绝大多数程序员不是早期使用者。他们想使用PHP7但需要过一段时间等PHP7稳定后再用。

尽管有8个候选发布版本,并且PHP测试小组评估PHP通过全部测试的可能性很大,但开发者也知道应该会有些bug和向后不兼容的更改存在,这些会导致程序员花费相当长的时间,用于PHP的最终修复或者基于开发者需要去修改代码。

另外,还有一部分的程序员只想在新项目中使用PHP7,因为目前正在进行的这些项目非常重要,因此不能被PHP7可能出现的错误影响。

第二个问题是关于PHP程序员对PHP7的好奇心有多重。结果显示大部分程序员愿意在开发环境中测试PHP7,因为这样更安全。

程序员们已经能够想象一旦他们的代码出现问题,等待他们修复的工作量该是多么的惊人,尤其是那些自己拥有测试套件的程序员,因为他们可能已经看到有很多的测试显示失败。

第三个即最后一个问题,显示了程序员们正在使用的PHP版本有多新。

有一小部分的人正在勇敢地在生产中使用PHP7。虽然我认为他们不大可能在非常重要的项目中使用PHP7开发。

数据显示了个好消息,绝大部分程序员已经开始使用PHP5.6了。而且在最坏的情况下他们仍然使用PHP5.3。这有可能是因为他们的公司不提供其他的版本,或者是因为新版本不适用于他们的代码。

如今几乎每个人使用的版本都不低于PHP5.3.11,因为更老的版本里有致命的bug,这些可能会导致你的服务器崩溃。

也许你很好奇那3位选择“其他”的开发者使用的是什么,事实上只有一位准确说了正在使用的是HHVM。为了使用HHVM你需要控制你的托管环境并且需要手工编译它。然而,绝大多数程序员不可能这么做或者没这技术。

(五)PHP7的未来

现在PHP7已经正式发布了,你也许会很好奇下一步是什么。以下是一些已在计划内以

相关文档
最新文档