近日,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年,开发团队希望这些工作能够继续并扩展到更大的范围,以及提供更多的自动迁移工具来更新代码以处理语言方面的变更。
相关链接