那就这样办,经过大量的讨论,投票过程选择刚刚结束的下一个主要的 PHP 版本的名称。胜出的建议计划是在 PHP 后调用 PHP 7 的下一个主要版本 5.x。
读这篇文章理解的建议和 PHP 7 的性能,以及可能的发布日期的未来会发生什么。
内容
PHP 7名称: 投票和结果
PHP 6 与 PHP 7
语言版本 6 的诅咒
PHPNG 成为 PHP 7
PHP 7 主要特性
1.巨大的性能改进
2.JIT 引擎
3.AST: 抽象语法树
4.异步编程
5.独立多线程 Web 服务器
PHP 7 将在什么日期发布?
结论
PHP 7 名称: 投票和结果
在最后一天是下一个主要版本的名称的激烈争论。
它不是真的很重要,决定现在什么名称会因为下一个主要版本发布之前,它将需要一段时间。然而这种讨论需要即将举行或晚些时候作出决定。
讨论是关于 PHP 6 或 PHP 7 调用它。在称为下一个 PHP 版本名称的 RFC 文档中介绍了每项建议的理由。
投票已启动一次,但是被取消后,引进更多的参数,它重新启动前。结果公布一周后投票重新启动。PHP 7 建议赢得 58 票为 PHP 6 24 票反对。
选票应否作可见或投票期结束之前,不争论,存在着上。这个想法是为了避免从众效应。该参数为辩护有些人会只是投票玩和其他人,而不是表决的建议的优点。讨论没有任何地方去。
PHP 6 与 PHP 7
浅谈下一个 PHP 主要版本名称是。为 PHP7,作出决定,但如果你没有遵循这些参数,你也许会好奇,了解什么是利害攸关。
PHP 而不断演化。每个新的主要版本有了新的功能。大多数的次发行版都是关于bug 修复。
更多热心的网友倾向于变得很兴奋与新的主要版本,因为他们都渴望能够尽快受益于新的功能。
也新的主要版本问题大标志具有生命力的语言,加强 PHP 球迷他们会做出正确的选择,投资在一种语言,导致其市场上的信念。
其他用户得到更关切的主要发行版,因为新功能经常一起向后兼容的改变,意味着它可能会导致更多的工作和很大的麻烦,修复代码,这些更改被打破了。
因此下一个主要版本的名称并非那么重要,只要所有用户都明白这是一个重要的新版本,与各方面的影响。
那些赞成保持 PHP 6 声称它将下一个逻辑编号后当前的主要 PHP 版本,显然是5。
那些支持 PHP 7 据称 PHP 6 是在 2010 年被杀害的 PHP 分支的名称。这是一个非常雄心勃勃的发展,目的是为了给所有的 PHP 文本处理作为标准带来的Unicode 支持。
因为 PHP 6 被中止,PHP 7 的拥护者不想下一个主要 PHP 版本要混淆分支,被人杀害在过去很长时间。
大多数投票开发人员倾向于避免这种困惑,因此下一个主要的 PHP 版本将 PHP7。
语言版本 6 的诅咒
那些更迷信可能声称有毛病,编程语言版本和 6 号。
很久以前的 PHP 6 失败,Perl 语言也卡住了版本 6。Perl 6 本该是一种全新的语言引擎后的版本 5,但与更大的野心。
在 2000 年的语言特点,Perl 6 开始一场辩论。此外制作了一种规范,让语言执行而无需开发人员阅读参考实现的来源。
所有这些讨论 Perl 6 实现需要数年发展,到了许多 Perl 球迷就被遗忘了它,并转移到其他语言。
显然是一个巧合,这些事情发生在版本 6 中。PHP 版本 6 的事项不同,那没有举行任何人的呼吸,以防止用户继续工作,使用 PHP。
PHPNG 成为 PHP 7
在平行于下一个 PHP 主要版本名称的讨论,提出了另一项建议,把 PHPNG 分公司作为 PHP 7 的基础。
虽然目前仍在进行中的讨论并表决这项提案没有尚未开始写这篇文章时,就很可能会发生这种情况。
然而,它是可能仍然是一个 PHP 5.7 PHP 7 点以前的释放。
PHP 7 主要特性
为 PHP 7 设置的整个功能尚未定义。我们可以已经谈论因为他们已经正在执行一些功能。其他人我们只能推测基于合理的猜测。
1.巨大的性能改进
PHPNG 的主要目标是使至少可以匹配 Facebook HHVM 提供的性能改进。
Zeev Suraski Zend 的写了一篇文章,他公开承认他们采取 HHVM 作为一个竞争者 (Zend 引擎基于) PHP。这刚好印证了 HHVM,然后 Facebook 黑客发布触发 Zend 继续提供 PHP 领导实施这极大的兴趣。
在那篇文章上他还演示多远 PHPNG 分公司已进化而来的性能改进。
2.JIT 引擎
德米特里 · 斯托戈夫 Zend 的根据 PHPNG 的发展开始与实施 JIT 引擎问题的研究,为 Zend 引擎基于 PHP 的动机。
下一次运行它时,JIT 引擎动态可以编译的 Zend 操作码为本机代码,最终会使代码运行得更快。
而 JIT 引擎的实现还没有内置的 PHPNG 分公司,德米特里 · 五月份提到他"花费大量的时间与 JIT,实验,甚至创建透明 LLVM PoC 基于 JIT 编译器嵌入到OPCache"。
所以也肯定在 Zend 打算允许 JIT 引擎使 PHP 7 作为根据 Zeev Suraski 它可以"推性能通过已经超的快速实施屋顶"。
3.AST: 抽象语法树
最近尼基塔 · 波波夫提出一抽象语法树作为中介的步代为 PHP 编译过程的执行。
它不是尼基塔提出要实施 AST 编译步骤的第一次。他已经建议它在 2012 年。
AST 将提供几个优点,他描述了他的建议,包括潜在的更多的优化,将使 PHP 运行得更快。
在最新的提议,他描述了暴露到 PHP 扩展库和用户空间应用程序 AST 的可能性。这可以打开空间更有趣的工具,如静态代码分析仪,这往往有助于发现 bug 或潜在源级优化的 PHP 代码。
尼基塔已经提供了一个修补程序来实现 PHPNG 分公司的 AST 支持。
4.异步编程
这可能不是显而易见的但最近朱利安泡利的最新的 PHP 版本中,维护者之一已被评论关于重构 PHP I/O 多路复用层。
这似乎是一个必要的步骤来执行一个事件循环。一个事件循环是代码的照顾处理I/O 操作与其他可能并行,像访问文件、 网络、 数据库、 定时器等下去的异步任务相关的事件的一部分......
简单来说,这将使未来的 PHP 版本,能够轻松地实现对相同的请求,从而推动PHP 性能改进潜在到一个完全不同的水平内的并行任务的执行的支持。
这是几次在过去评论说的东西。最新的时代之一是有关 Facebook Hack的改进的文章。
当然,你不要只是通过启用异步编程支持自动的性能改进。新的 PHP 代码需要编写能够利用潜在的异步编程。
吉恩 Pauli 的最初努力,尽管它不意味着 PHP 7 中将启用了异步编程的内置支持。
然而,由于 Facebook Hack已经在非常优雅的方式提供异步编程的支持,我不会感到惊讶,如果 PHP 核心开发人员更快地使异步编程可用的 PHP 中,宜早不宜迟。
5.独立多线程 Web 服务器
这一点似乎不是在 PHP 7 的计划,但这是使 PHP 可扩展性更强。
已经可以从像 ngynx、 lighttpd 或甚至 Apache 在工作模式下,多线程 Web 服务器运行 PHP,不过也并不等于拥有其自身多线程 Web 服务器上运行的 PHP。
多线程 Web 服务器可以处理多个请求使用单个内存池,这样可以避免发生当你运行 PHP 作为 FastCGI 或在 Apache 前叉模式下的内存浪费。
它也将使 PHP 使用单个的数据库连接池,从而最小化的同时存在的数据库连接数开了访问高峰期。
HHVM 自当这个项目被称为 HipHop PHP 编译器的日子已经作为一个独立的多线程 Web 服务器运行。
这允许 Facebook 以减少服务器机器位需要来处理访问他们有高的负荷。
尽管作为一个独立的多线程 Web 服务器未在 PHP 7 计划运行 PHP,这当然是好事,至少对 PHP 8。
PHP 7 将在什么日期发布?
要有一个良好的估计的 PHP 7 的发布日期还为时过早。不同的人估计将需要 1 到3 岁之间。一个合理的猜测是指望最后的 PHP 7 释放一些时间在 2016 年,虽然它是不可能在 2015 年仍看到早期 alpha 版本。
所以,现在你可以计数至少 1 年的等待,直到可以开始尝试 PHP 7。
结论
PHP 语言的最新发展无疑是非常令人兴奋。
如果它是公平地承认大部分的这些事态发展是 Facebook 推进 HHVM 和Hack语言的结果,我认为我们应该感谢 Facebook 那推。
我怀疑他们是有意的做到了我的意思是,他们推 HHVM 和Hack,使 PHP 核心开发人员醒来和移动得更快。在这种情况下,它的工作 !然而它是一件好事为 PHP社区一般情况下,所以谁也不应抱怨。
你觉得怎么样?你喜欢这些最新的 PHP 语言发展吗?还有什么你想要见到 PHP语言继续进一步前进的发生吗?张贴一条评论,告诉你的想法。
原文:
http://www.phpclasses.org/blog/post/242-PHP-7-Features-and-Release-Date.html
最后更新于 2017年9月4日