问题标签 [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 投票
1 回答
497 浏览

php - 推送被拒绝,无法编译 PHP (HHVM) 应用程序

我需要在 Heroku 上使用 HHVM 和 Hacklang 开发一个 Web 应用程序。问题是当我git push到 Heroku master 时,我收到了这个错误信息:

Composer设置有问题吗?

0 投票
1 回答
409 浏览

hhvm - HHVM 类未定义的 SleepWaitHandle

我正在尝试在 larval 应用程序中使用 HHVM 的异步函数。我在函数中添加了 async 关键字,但在等待 SleepWaitHandle 时出现错误。它说这个类是未定义的。文档似乎没有对此进行更改。我错过了什么?

我在每晚 3.9 和 3.8 的马厩上发生了这种情况。运行 ubuntu 14.10。

我尝试从http://hhvm.com/blog/7091/async-cooperative-multitasking-for-hack运行一个演示

但是在命令行上运行它会返回

0 投票
3 回答
333 浏览

hhvm - 获取 XHPChild 的孩子

当然,我正在尝试将我的网站移至 Hack 和 XHP。下面是我想要实现的代码结构的结构:

注意: :ui:backstageHeader-navItem基本上渲染到<a href={$this->:href}>{$this->getCHildren}</a>所以这里不需要附加它的类。)

下面是代码:ui:backstageHeader

我使用终端来调试我的代码hhvm -m d <file.php>,一切都很好;但是,当我访问我的浏览器时,我得到了500错误标题。这就是日志所说的:

错误来自

但是,不知何故,我需要ul.main-navigationdiv.cell-navigation我的section.backstage-header.

我该怎么做?

0 投票
1 回答
455 浏览

hacklang - 不同对象的 HackLang 类型

假设我有允许代理不同适配器实例的静态连接器:

连接器必须在运行时初始化和处理连接:

适配器内部的某处:

连接是一个对象,可以是 Memcached、MySQLi 等的实例,也可以是 NULL。所以从逻辑上讲,我想这样做:

但同时连接并不是真正的“对象”实例,例如是 Memcached 的实例,结果是:

可捕获的致命错误:黑客类型错误:无效分配

在这种情况下,唯一可行的解​​决方案是根本不定义类型。定义通用对象是否有一些技巧?

0 投票
2 回答
70 浏览

hacklang - 更改 AsyncMysqlClient 的排序规则

如何将AsyncMysqlClient(或AsyncMysqlConnection,我不确定其中哪一个)的排序规则更改为utf8

我阅读了文档,但找不到任何更改字符集的方法。我可能会想念它,如果它真的在那里。

0 投票
1 回答
106 浏览

travis-ci - Travis CI 是否支持 Hack?

我已经完全用 Hack 编写了代码,我想使用 Travis CI 在启用 Hack 的各种 HHVM 版本上测试我的构建。当我选择 HHVM 作为测试平台时,Travis CI 是否支持 Hack 还是只是 PHP?

0 投票
1 回答
198 浏览

php - 带有正则表达式的 XHP 用于链接替换

我正在尝试实现一个简单的函数,该函数给定文本输入,返回在xhp_a检测到链接时修改的文本,在一个段落xhp_p中。

考虑这个类

这里的问题是xhp转义html和链接未按预期显示。我想这是因为 a 没有按预期创建 dom 层次结构(appendChild例如使用方法),因此所有regex替换都是一个字符串。

所以我解决这个问题的另一种方法是使用preg_match_callback一个回调函数,该函数将创建xhp_a并添加到下面的层次结构中,xhp_p但这也不起作用。

我在某个地方错了吗?如果不存在任何安全风险/更大的开销,只需在客户端而不是服务器上查找和替换加载 html 吗?

谢谢你的时间 !

0 投票
5 回答
1552 浏览

php - PHP:发送选项列表作为参数(替代命名参数/参数包)

我希望提供一个选项列表作为函数的参数。

理想场景:命名参数

如果 PHP 有命名参数,它会这样做:

不幸的是 PHP 没有命名参数(请告诉我 PHP7 是否计划有一些作为注释)

其他人都在使用的解决方案:关联数组

我见过的大多数 PHP 脚本都使用另一种数组方法,如下所示:

关联数组方法的缺点

虽然这很好用,但也有以下缺点:

  • 用户不会从自动完成中受益(需要很长时间才能编写)
  • 用户很容易出现拼写错误
  • 不知道有哪些选项可用,因此可能会经常返回文档

有没有更好的办法?

有没有更好的方法可以解决这些问题(在当前的 PHP 或 PHP7 中,甚至可能是 hacklang(?))。

0 投票
1 回答
596 浏览

ubuntu - 如何使用 Atom/Nuclide 和 Hack 进行内联错误检查?

Nuclide 据说支持错误检查,但我不知道如何设置它。

  • 我有全新安装的 Atom
  • 我通过安装核素apm install nuclide-installer
  • hh_client我已经通过在命令行上从我的项目目录运行验证了 Hack 已正确安装,它确实报告了错误
  • 我的项目根目录中有一个.hhconfig,但它是空的(不知道在里面放什么)
  • 守望者已安装

IDE 中未显示任何错误(请参见屏幕截图)。我还有其他事情要做吗?

破解截图

0 投票
1 回答
204 浏览

nginx - hhvm hack lang error 500 而不是报错

我在 nginx dockered 服务上玩过 hack。一切都很好,而不是引发错误。例如这个函数:

这应该会产生错误,因为它不是整数。但是,我得到了一个 500 页,而不是返回错误消息。

键入hhvm index.hh控制台给了我:

Catchable fatal error: Argument 1 passed to add_one() must be an instance of int, string given in /var/www/index.hh on line 7

如何避免出现 500 页并打印此错误消息?