【问题标题】:Did HHVM works only with HACK?HHVM 是否仅适用于 HACK?
【发布时间】:2015-06-28 14:58:23
【问题描述】:

HHVM 是 PHP 的新运行时。我已经在 Ubuntu 上安装了 hhvm。

但我有一个疑问,我可以在 .hhvm 文件中编写 php 代码。

     <?php

          echo "Hello HHVM with PHP";

      ?>  

或者我必须安装 hack 并编写如下所示的代码

        <?hh

          echo "Hello HHVM with HACK";
        ?>

哪种是使用 HHVM 的正确方法(使用 PHP 或 HACK)。

如果我完全错了,请告诉我 HACK、HHVM、PHP 之间的区别。

【问题讨论】:

  • 首先你不要安装 Hack。您只需安装 HHVM。您的两个代码 sn-ps 都可以在 HHVM 上运行。几乎所有 PHP 都是有效的 hack 代码。除了docs.hhvm.com/manual/en/hack.unsupported.php
  • @pinkalvansia 那么HACK有什么用

标签: php facebook hhvm hacklang


【解决方案1】:

HHVM 是 PHP 和 Hack 两种编程语言的运行时引擎。它是真正执行您的代码并产生结果的东西,就像 Python 解释器或 Node。

当 HHVM 运行您的 PHP 代码时,其行为应该与在您可能习惯使用的 php.net 的 PHP5 引擎上运行它相同。任何行为偏差都是错误(有一个或两个非常次要例外)。换句话说,您现有的 PHP 应该在 HHVM 上与 PHP5 引擎一样运行。您不必也可能不应该为您的代码提供不同的扩展名,例如您的示例中的.hhvm。只需编写 PHP 代码,以 .php 结尾。 (HHVM 实际上并不关心文件扩展名,但您的网络服务器可能会。)

要开始在 HHVM 上运行 PHP,您应该查看"Getting Started" page on the HHVM wiki。它讨论了如何让 nginx 等网络服务器与 HHVM 通信——该过程与 php-fpm 几乎相同。

HHVM 还支持第二种编程语言Hack,这是最初在 Facebook 开发的 PHP 方言。 Hack 包括 static type systemasynchronous functions 以及 removes some of the nastier or harder to deal with bits of PHP 等功能。运行 Hack 代码所需的所有组件都包含在标准 HHVM 发行版中——HHVM 开箱即用地支持 PHP 和 Hack 语言。 The HHVM documentation describes how to get started with Hack.

但同样,Hack 是一种与 PHP 不同的语言。 HHVM 将同时运行这两者,包括未修改的 PHP 及其所有功能。尽管 Hack 中不支持某些东西,但它们在 HHVM 上运行的 PHP 中都可以正常工作。

【讨论】:

    猜你喜欢
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    相关资源
    最近更新 更多