问题标签 [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.
php - HHVM Hack 源代码到普通 PHP
我在 Google 和 SO 上进行了搜索。在任何地方都找不到这个问题或答案。所以这里。
我想开始在工作中使用 Hack,至少对于一些小项目。我们的服务器现在还没有安装 HHVM,需要做一些工作才能完成。因此,我想知道是否可以在本地编写和使用 Hack,然后将 Hack 源文件“编译”/“转换”为纯 PHP。然后可以将纯 PHP 源代码原样部署到我们当前的平台上。
我知道,边缘情况,不是长期的,但无论如何我对这种可能性感到好奇
编辑 似乎有足够多的人问这种问题,因为 Facebook 发布了一个从 Hack 到 PHP的转换器。我还没有尝试过,但我想我会在这里提到它。
hhvm - 使用 HHVM 将 EnableHipHopSyntax 设置为 True
当我运行我的代码时,我收到以下错误:
myfile.php 在该行有一个函数:
底线): string"
是 hack 语言的适当语法,但出于某种原因,HHVM 决定在默认情况下巧妙地禁用自己的语法。
我似乎找不到任何带有 HHVM 的文档来说明如何设置该配置文件。如何进行这一过程?
编辑:
事实证明,我的 HHVM 转换工具并没有<?php
按照<?hh
我的指示进行转换,因为它已经转换了自己。换句话说,它试图转换<?hh
为<?hh
,这对我没有好处。
我错误地认为 HHVM 正在为<?hh
标签禁用它,但事实并非如此。
hhvm - 在 ubuntu14.04 上使用 ngnix 配置简单 hhvm 站点(hack-site-example)的问题
我按照https://github.com/hhvm/hack-example-site上的说明进行操作,但在通过 ubunut 14.04 在 ngnix 上设置 hhvm hack 站点时不知何故迷路了。请注意,我为 14.04 使用了适当的 apt-get repo。
但是,在配置并尝试访问 127.0.0.1:9000 后,我在 /var/log/hhvm/error.log 中看到一个错误
我的 /etc/ngnix/sites-enabled 如下
/etc/ngnix/sites-available/hack-example-site 的内容如下:
有人可以帮助我在我的本地主机上运行这个 hhvm 站点吗?谢谢。
哦,请注意 ngnix 已正确安装并且服务器响应 localhost。
配置文件 /etc/nginx/sites-available/hack-example-site 如下:
网站/index.php
$document_root$fastcgi_script_name;
} } ~
hhvm - hacklang 中的形状
我今天开始学习 hacklang,现在我有点卡在形状上:http: //docs.hhvm.com/manual/en/hack.shapes.php
我理解形状的概念,它对我来说似乎真的很有用,但我不明白为什么这个代码不会抛出任何错误:
'y' 键被定义为整数,但是当我传递一个字符串时,没有显示错误。谢谢你的帮助 :)
php - Hack / HHVM 与 PHP / HHVM 之间的性能差异
我最近通过在 Apache / NGinx / HHVM / ReactPHP 的各种组合上运行两个测试 PHP 脚本来分析它们的性能差异。
我现在的问题是,在 HHVM 上执行的 PHP 脚本和在 Hack 中实现的(并在 HHVM 上执行的)(尽可能)相同的脚本之间是否存在预期的性能差异?
有没有人试过这个?
nginx - 尽管已经进行了必要的包含,但在将 XHP 与 HHVM 一起使用时获取未定义的类
我正在使用 nginx 1.6.2、ubuntu 14.04 和 hhvm 3.3.0。
我的服务器是在本地配置的,我可以访问它的页面并执行常规的 hack 脚本。
当我尝试执行必须包含 XHP 库的脚本时,问题就出现了。如果我从命令行调用 then 它们工作得很好:hhvm index.php
使用预期的输出执行,但是如果我尝试从浏览器打开页面,hhvm 会记录 xhp 未定义的类错误。
这是我的设置:
这是 index.php 文件:
这是 info.php 文件:
其他文件取自:https ://github.com/facebook/xhp/tree/hack/php-lib
如果我在 init.php 的开头放置了一个 error_log,如果从 bash 执行它会输出错误,但如果从浏览器运行则不会输出任何内容(未定义的类错误除外)。
Nginx 也没有给我任何错误。
如果我从浏览器访问 info.php,它会给我预期的输出:“使用 HHVM”
谢谢你。
php - 在 HHVM 上用 Hack 编写的代码是否比用 PHP 编写的代码更快?
我们可以期望通过在 HHVM 上从 PHP 过渡到 Hack 来提高速度吗?
我正在考虑强类型参数/返回类型,特别是标量,是否允许 HHVM 在将代码编译为本机代码方面做得更好,或者与使用经典 PHP 及其混合类型相比,速度增益微不足道?
php - 破解类型检查器无法识别函数内的“全局”关键字
我正在使用 HHVM 编写系统工具,但我一生都无法弄清楚为什么此代码在运行时会发出错误hh_client
当我运行时,这会出现以下问题hh_client
它指向的那条线是那条线
这是在global
范围内声明的。这似乎是一个语法错误,好像global
HHVM 不支持该关键字,但是我检查了文档,它有几个在 Hack 代码中使用的示例。
php - Php 在 Hack 中使用反射获取泛型类型
我正在使用 HHVM 探索 Hack,并且正在使用泛型。我有以下基本存储库:
然后我有子类 UserRepository 像这样:
我想要做的是在运行时使用反射来获取 T 的类型。
我尝试了以下方法:
输出以下内容:
}
然后我遍历参数并调用: $parameter->getClass()
返回null。
是否可以使用反射在运行时获取 T 的类型?如果是这样,我会怎么做?