您将如何从PHP迁移到Hack?[已关闭]

2022-08-30 19:11:36

Facebook引入了一种新的编程语言,它看起来更像是PHP的扩展。他们称之为Hack,它在他们的HHVM引擎上运行。

在看到他们的网站并阅读了一些关于它的信息后,我想知道从PHPHack的迁移可能会有多流畅。

让我们围绕已部署到 LEMP 或 LAMP 堆栈的 Web 应用程序进行此讨论。

我的一些初步想法和行动清单包括:

  • 如何在迁移代码库的过程中同时运行PHP和Hack?
  • 从nginx/Apache迁移到HHVM
  • 以迭代方式迁移代码库

那么,你会如何解决这个问题呢?


答案 1

我是Facebook的一名工程师,曾参与Hack的工作。特别是,我编写了转换工具的几个部分,然后将它们应用于Facebook的代码库。这确实应该有几个问题 - 这取决于你的项目是如何设置的,你正在使用的PHP功能,等等。一些好的起始资源包括:

  • 安装 HHVM。目前,Hack仅在您使用夜间软件包(仅适用于Debian和Ubuntu)或从我们的github源代码编译时才可用,因此请确保您执行其中一个。
  • 使用nginx和fastcgi在HHVM上运行您的代码。这应该非常简单 - HHVM应该开箱即用地运行PHP代码。如果没有,那就是一个错误。
  • 在项目上运行 Hack 类型检查器。这不会做太多事情,因为你所有的代码都是PHP。
  • 开始运行我们的转换工具,并在您的代码库中获取更多 Hack 代码。我们与PHP无缝互操作,因此您可以根据需要,快速或缓慢地完成此操作。从这里开始,你是黄金 - 做任何对你的项目有意义的事情!

这就是您入门所需的内容。具体的后续行动最好作为一个单独的问题提出。我会尽量关注SO,并回答我所能帮助人们入门的地方!您也可以在IRC上加入我们,#hhvm Freenode上。


答案 2

从它的声音来看,过渡几乎是无缝的。来自有线文章

Adermann说,Hack对现有的PHP商店特别有吸引力。“具有讽刺意味的是,”他说,“它的主要优势在于它与PHP的差异很小。与Facebook一样,这些商店可以逐渐将业务从一种语言转移到另一种语言。


推荐