在PHP中使用heredocs时,我意识到heredoc的名称不一定是唯一的。因此:Heredocs - 两次使用相同的名字?为什么要命名它们?
$a = <<<EOD
Some string
EOD;
$b = <<<EOD
A different string
EOD;
是正确的,其行为与您预期的完全一致。
由于任何原因,这是不好的做法?为什么heredoc根本就需要名称/标签(上面的EOD
),因为您不能通过名称引用它?
在PHP中使用heredocs时,我意识到heredoc的名称不一定是唯一的。因此:Heredocs - 两次使用相同的名字?为什么要命名它们?
$a = <<<EOD
Some string
EOD;
$b = <<<EOD
A different string
EOD;
是正确的,其行为与您预期的完全一致。
由于任何原因,这是不好的做法?为什么heredoc根本就需要名称/标签(上面的EOD
),因为您不能通过名称引用它?
如果您指定的字符串包含EOD
,该怎么办?
您可以选择标识符以避免与作为字符串使用的文本块发生冲突。
你不参考它是这样的,但它作为一个标识符以指示所述端的定界符的。例如
$a = <<<EOD
EOA
EOB
EOC
EOD;
一个好处是,像vim编辑器可以应用语法高亮与HTML,EOHTML,EOSQL,EOJAVASCRIPT命名here文档使他们更漂亮与...
正是上班。那么你使用了一个不是EOD的分隔符。请注意,heredocs的结尾必须从该行的第一个字符开始,这有助于提高特异性。 另请注意,替代文本不会扫描heredoc终止符 - 这意味着您可以简单地扫描一次代码以解决这个简单的错误,并且知道您还没有完成。 – 2010-01-27 00:05:07