Heredoc错误,显示Parse错误

时间:2014-09-04 08:31:58

标签: php

以下代码显示了一个解析错误:

Parse error: syntax error, unexpected $end, expecting T_VARIABLE 
or T_END_HEREDOC 
or T_DOLLAR_OPEN_CURLY_BRACES 
or T_CURLY_OPEN in D:\xampp\htdocs\project1\conf.php 
on line 10

这是我在conf.php文件中的代码

$chat_code = 
<<<EOD

<script>alert('Hi')</script>

EOD;

1 个答案:

答案 0 :(得分:3)

来自manual

  

警告:请注意具有结束标识符的行非常重要   必须不包含其他字符,分号(;)除外。 这意味着   特别是标识符可能没有缩进,也可能没有   分号前后的任何空格或制表符。这也是   重要的是要意识到结束前的第一个角色   标识符必须是本地操作系统定义的换行符。   这在UNIX系统上是\ n,包括Mac OS X. 结束分隔符   还必须跟一个换行符。如果这个规则被破坏了   关闭标识符不是“干净”,它不会被视为结束   标识符,PHP将继续寻找一个。如果正确关闭   在当前文件结束之前找不到标识符,解析   错误将在最后一行产生。 Heredocs不能用于   初始化类属性。从PHP 5.3开始,此限制是有效的   仅适用于包含变量的heredoc。

因此,除了换行符号外,你的heredoc字符串结束分隔符应该没有前导符号和后续符号。