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

2024-04-25 15:58

本文主要是介绍Facebook 开发的 HHVM 引擎宣布停止支持 PHP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来源:开源中国


640?wx_fmt=jpeg

近日,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-routerhack-router-codegen删除对 PSR-7 的依赖,重新使用当前最佳实践的 API 设计,改进文档

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

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

640?wx_fmt=jpeg

这篇关于Facebook 开发的 HHVM 引擎宣布停止支持 PHP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935136

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模