Facebook开发的HHVM引擎宣布停止支持PHP

近日,Facebook 开发的 PHP 执行引擎 HHVM 在其官方博客上宣布,他们即将停止支持PHP。

HHVM 通过将 PHP 代码动态翻译成原生机器码而大幅提高速度。HHVM 支持 PHP 和 PHP 方言 Hack 语言。但现在开发团队宣布 HHVM v3.30 将是最后一个支持 PHP 的版本,下面是一些关键的时间节点:

2018-12-03(branch cut): 在该日期后,PHP 代码将停止用于master 和 nightly builds

2018-12-17: 发布 v3.30.0 版本

2019-01-28: 发布 v4.0.0 版本,不再支持 PHP

2019-11-19: 终止对 v3.30 的支持

HHVM 开发团队建议使用 HHVM 的项目完全迁移到 Hack 或 PHP7 和 PHP 运行时。

他们还表示,希望自身做出的对现实世界PHP 代码的支持能够快速突破:例如,他们可能会使用 inout 参数代替内置的引用参数 (&$foo),使得INT64_MAX + 1 === INT64_MIN(浮点数除外)。

关于 HHVM 放弃对 PHP 支持的这件事其实有迹可循。去年我们就曾报道过,因为 PHP 7 与 PHP 5 存在很大的兼容性问题,Facebook 的 HHVM 团队决定改用 Hack 开发 HHVM。通过减少使用 PHP,HHVM 团队希望 HHVM 和 Hack 能给开发者提供一个更好、更高性能的体验。

Hack 建立于 PHP 生态系统上,但 Facebook 最终的目标是让 Hack 拥有自己的核心框架生态。

为此,HHVM 团队也和我们分享了 2018 的开源计划,优先事项是支持现有的用户,并减少停止支持 PHP 带来的痛苦。这将涉及到创建其他项目,并优化若干现有项目以达到合适的 v1.x 状态。

目前的部分计划

hh-apidoc:提升易用性,与现有项目集成,改进生成文档的可读性和格式

hacktest: 在所有现有项目中改进易用性、文档和用作 PHPUnit 的替代品

hack-router,hack-router-codegen:删除对 PSR-7 的依赖,重新使用当前最佳实践的 API 设计,改进文档

我们正在调查来自Composer 和 Packagist 的迁移;目前看来,这将是一组使用 NPM 存储库、Yarn的最佳实践或扩展,其目标是为基于 Web 的项目的 JS 和 Hack 部分使用单个包管理器

2019年,开发团队希望这些工作能够继续并扩展到更大的范围,以及提供更多的自动迁移工具来更新代码以处理语言方面的变更。

.