Syntax 埃雷多克-两次使用相同的名字?为什么要说出他们的名字?

Syntax 埃雷多克-两次使用相同的名字?为什么要说出他们的名字?,syntax,naming,heredoc,Syntax,Naming,Heredoc,在PHP中玩弄heredocs,我意识到heredocs的名称不必是唯一的。因此: $a = <<<EOD Some string EOD; $b = <<<EOD A different string EOD; $a=您没有这样引用它,但它作为一个标识符来指示herdoc的结束。e、 g $a = <<<EOD EOA EOB EOC EOD; $a=您没有这样引用它,但它作为一个标识符来指示herdoc的结束。e、 g $a = &

在PHP中玩弄heredocs,我意识到heredocs的名称不必是唯一的。因此:

$a = <<<EOD
Some string
EOD;

$b = <<<EOD
A different string
EOD;
$a=您没有这样引用它,但它作为一个标识符来指示herdoc的结束。e、 g

$a = <<<EOD
EOA
EOB
EOC
EOD;
$a=您没有这样引用它,但它作为一个标识符来指示herdoc的结束。e、 g

$a = <<<EOD
EOA
EOB
EOC
EOD;

$a=如果指定的字符串包含
EOD
,该怎么办


您可以选择标识符以避免与用作字符串的文本块冲突。

如果您指定的字符串包含
EOD


您可以选择标识符,以避免与作为字符串使用的文本块冲突。

一个好处是,像vim这样的编辑器可以将语法高亮显示应用于使用HTML、EOHTML、EOSQL、EOJAVASCRIPT命名的heredocs,使它们更易于使用

$html = <<<EOHTML

<p class="foo">foo</em>

EOHTML;

$sql = <<<EOSQL

SELECT DISTINCT(name) FROM foo ORDER BY bar;

EOSQL;

$js = <<<EOJAVASCRIPT

foo = { bar: 'bar'; }

EOJAVASCRIPT;

$html=一个好处是,像vim这样的编辑器可以对使用html、EOHTML、EOSQL、EOJAVASCRIPT命名的heredocs应用语法高亮显示,使它们更易于使用

$html = <<<EOHTML

<p class="foo">foo</em>

EOHTML;

$sql = <<<EOSQL

SELECT DISTINCT(name) FROM foo ORDER BY bar;

EOSQL;

$js = <<<EOJAVASCRIPT

foo = { bar: 'bar'; }

EOJAVASCRIPT;

$html=完全正确。然后使用另一个不是EOD的分隔符。请注意,heredocs的结尾必须从行的第一个字符开始,这有助于提高特异性。还要注意的是,替换的文本不会被扫描为heredoc终止符-这意味着您只需扫描代码一次,就可以发现这个简单的错误,并且知道您没有这样做。然后使用另一个不是EOD的分隔符。请注意,heredocs的结尾必须从行的第一个字符开始,这有助于提高特异性。还要注意的是,替换的文本不会被扫描为heredoc终止符-这意味着您只需扫描代码一次,就可以发现这个简单的错误,并且知道您还没有这样做。