4

可能重复:
heredoc 与 eval 代码执行

所以我在function.php中有以下内容:

eval("\$content = <<<TEMPLATE\n
               asdf
\nTEMPLATE;");

而且我不断收到错误消息:

Parse error: syntax error, unexpected $end, expecting T_VARIABLE or T_END_HEREDOC or T_DOLLAR_OPEN_CURLY_BRACES or T_CURLY_OPEN in /var/www/function.php(10) : eval()'d code on line 5

我无法弄清楚问题是什么。heredoc 语法显然有一个结尾,heredoc 只是不喜欢和 eval 玩得很好吗?

4

1 回答 1

6

HEREDOC 语法以开头定义的分隔符结束,后跟分号,再跟换行符。您没有换行符,因此它不会被识别为 HEREDOC 的结尾。\n之后添加一个额外的TEMPLATE;,它应该可以正常工作。

于 2012-10-22T18:48:14.987 回答