简单的代码 - 不输出消息

时间:2014-07-16 21:56:45

标签: php linux nginx hhvm hacklang

我正在使用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;
}

4 个答案:

答案 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支持短标签吗? <?= ?>

这可能是你的问题。