HHVM只适用于HACK吗?

时间:2015-06-28 14:58:24

标签: php facebook hhvm hacklang

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之间的区别。

1 个答案:

答案 0 :(得分:2)

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,这是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中都可以正常工作。