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

相关文章

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte