Heredoc语句显示语法错误

时间:2015-06-09 06:36:09

标签: php heredoc

为什么我得到一个"意外的文件结尾"语法错误?错误似乎是在结束之后"?>"但是我发现它没有任何问题。

<?php

require_once("classPage.php");

$page = new Page();

print $page->getTop();

print <<<EOF

<div id="mainContent">

<p>This is where content would go, should there be any.</p>

</div> <!-- end main content -->

EOF; // no space at start of this line

print $page->getBottom();

?>
<---- Error is here.

2 个答案:

答案 0 :(得分:2)

您的代码示例中的终结符后面可能有空格,例如

[space]EOD;[space]

同时检查EOD;之前的空格。即你必须将结尾heredoc放在行的开头。

答案 1 :(得分:2)

您的代码应该是这样的,请注意代码中的注释。

<?php

    require_once("classPage.php");

    $page = new Page();

    print $page->getTop();

    print <<<EOF

<div id="mainContent">

<p>This is where content would go, should there be any.</p>

</div> <!-- end main content -->

EOF; // no space at start of this line

    print $page->getBottom();

?>