问题标签 [hacklang]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6257 浏览

php - 你会如何从 PHP 迁移到 Hack?

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

在查看了他们的网站并阅读了一些相关内容后,我想知道从PHPHack的迁移可能会有多流畅。

让我们围绕已经部署到 LEMP 或 LAMP 堆栈的 Web 应用程序展开讨论。

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

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

那么,您将如何处理这个问题?

0 投票
1 回答
565 浏览

javascript - 有人能从 facebook 介绍一下这种新的 HACK 编程语言吗

我在互联网上找不到很多关于它的资源。我也想对此进行更多研究,以及它与 javascript 有什么相似之处!

0 投票
1 回答
266 浏览

php - HHVM 的现状如何?

我刚刚发现了 HHVM,这是一种旨在执行 PHP(以及一种密切相关的新语言,称为 Hack)的虚拟机,比标准的 PHP 解释器更有效。在 hhvm.com 上阅读有关它的信息。(我认为这始于 Facebook 努力提高 PHP 的性能。)

HHVM 开发人员测试了它与包括 phpMyAdmin 在内的流行包的兼容性。他们声称他们的最新测试显示了 99.85% 的兼容性,无论这意味着什么。

phpMyAdmin 开发人员是否注意到这项工作?他们应该吗?

0 投票
2 回答
1691 浏览

php - 混合 PHP/Hacklang:在带有注释类型注释的常规 PHP 上使用类型检查器

由于无法访问 64 位 VM,我目前无法构建 hhvm,因此我无法使用他们拥有的类型检查器。他们的文档似乎没有详细描述类型检查器(hh_server 和 hh_client?)的操作。

对于任何使用过它的人,我想知道的是类型检查器是否可以在这种情况下使用:

假设有人无法将他们的 PHP 代码库转换为 Hack,所以他们改为使用 hacklang 类型注释形式的注释编写 PHP,并在构建时使用工具去除注释,创建一个 hh 文件,运行类型检查器并报告错误。

例如原始PHP:

复制上述内容,去掉注释,将 ?php 更改为 ?hh :

通过类型检查器运行它,看看它是否产生错误。

这样你就可以使用普通的 PHP 进行合法的类型检查,而无需在 HHVM 上运行它。类型检查器是否以适合此设置的方式运行?

0 投票
1 回答
2537 浏览

php - 如何在 hacklang/hhvm 中使用 Mysql PDO 驱动程序

尝试使用 hacklang/hhvm(今天编译)通过 PDO 访问 MySql 时,我收到一个 pdo 异常“找不到驱动程序”。我尝试安装 php5-mysql 但我什至不确定这是否有用,因为我不确定 php 和 hacklang 之间的关系,尤其是在扩展方面。我该怎么做才能让 PDO 在 hacklang 上工作?

更新:

我找到了支持的扩展列表: https ://github.com/facebook/hhvm/wiki/Extensions

PDO 和 MySql 都在那里,但我应该寻找 mysql_pdo 吗?或者我需要做一些配置吗?

0 投票
1 回答
587 浏览

php - Hacklang 教程 - 扩展类中的这种类型

hack教程练习16的正确答案是什么?
教程链接:Hacklang 教程

我修改后的代码(未标记为解决方案):

我替换MyBaseClassthis但仍未标记为正确(带有练习编号的绿色文本)..什么是正确答案?

0 投票
1 回答
775 浏览

php - 我可以将 HHVM 与常规 PHP 解释器一起使用吗

我知道 HHVM 可以运行常规的 PHP 代码。我想知道的是,我是否可以通过常规解释器提供所有用 .php 编写hack的文件和所有用 PHP 编写的文件的方式进行迁移。HHVMPHP

我认为这应该可以通过使用两个不同的文件扩展名(比如.hh.php)然后以某种方式将它们映射到两个不同的解释器/虚拟机和一些 nginx 设置,不是吗?

0 投票
1 回答
650 浏览

stateless - Hacklang 是有状态语言还是无状态语言?

最近,Facebook 发布了一种名为 Hacklang 的新语言,由 HHVM 编译为机器码。

所以我只是想知道,Hacklang 仅仅是一种有状态的语言吗?

谢谢。

0 投票
1 回答
3988 浏览

hacklang - hack中常用的php函数

我决定开始一个新项目来进入 hacklang,在解决了一些我最初遇到的从 php 习惯过渡的问题之后,我遇到了以下错误:

做了一些研究,我发现这是由于使用了未经过类型检查的“旧版”php,并且会在//strict.

这很好,empty()很容易更换,但是str_replace()有点困难。

是否有等效的功能可以使用//strict?或至少类似的功能。

我知道我可以使用//decl,但我觉得这违背了我的目的。

至少有什么方法可以判断哪些功能是在 hack 中实现的,哪些不在文档中,因为我找不到?

作为参考(虽然它与问题本身并不太相关),这里是代码:

0 投票
1 回答
1323 浏览

hacklang - 如何让 XHP 在 Ubuntu 的 hack/hhvm 中工作

我已经按照网站上的说明安装了 hack-nightly 并使用 nginx 设置了 fastcgi,但是在尝试创建使用 xhp 的简单文件时出现错误:

错误:

我需要采取一个步骤来启用它,还是需要安装额外的导入或包?