我正在使用Hack,可以在hacklang.org找到。
为什么没有以下代码:
<?hh
$message = "Hey, lol.";
?>
<!doctype html>
<html lang="en-us">
<head>
<title>title</title>
</head>
<body>
<?= $message ?>
</body>
</html>
输出以下文字?
Hey, lol.
<小时/> error.log文件中没有错误。当我“查看源代码”时,它就像页面本身一样空白。
编辑:
伙计们,请参阅下面的代码以回答您的答案。如果您访问hacklang.org(请参阅此问题中的hack标签:)并查看主页上的教程部分,请单击练习 3 ...它清楚地表明您应该使用hh而不是php来定义黑客文档:
<?hh
// Hack functions are annotated with types.
function my_negation(bool $x): bool {
return !$x;
}
答案 0 :(得分:4)
这应该有效:
<?php
$message = "Hey, lol.";
?>
<!doctype html>
<html lang="en-us">
<head>
<title>title</title>
</head>
<body>
<? echo $message; ?>
</body>
</html>
修改强> Hack不能像上面那样与html混合使用。 试试这个:
<?hh
$message = "Hey, lol.";
echo '
<!doctype html>
<html lang="en-us">
<head>
<title>title</title>
</head>
<body>
' . $message . '
</body>
</html>
';
答案 1 :(得分:1)
您使用的是错误的Hack语法。甚至their own website上的示例也意味着使用普通的php构造来实现您的目标。你的代码应该是:
<?php
$message = "Hey, lol.";
?>
<!doctype html>
<html lang="en-us">
<head>
<title>title</title>
</head>
<body>
<?php echo $message; ?>
</body>
</html>
编辑:看起来Hacklang可能需要一种单独的方式来生成结果。请尝试以下方法:
<?hh
$message = "Hey, lol.";
echo '
<!doctype html>
<html lang=\"en-us\">
<head>
<title>title</title>
</head>
<body>
' . $message . '
</body>
</html>';
答案 2 :(得分:0)
你可能最好在黑客中使用XHP。请参阅此处以获取示例:https://github.com/hhvm/hack-example-site/blob/master/HomeController.php
答案 3 :(得分:-1)
Hack支持短标签吗? <?= ?>
这可能是你的问题。