PHP 的Heredoc 示例似乎总是使用 EOT(有时是 EOD)作为分隔字符串,而实际上这里可以使用任何字符串。这有效:
$mystring = <<<EOT
Foo
Bar
Baz
EOT;
虽然这也有效:
$mystring = <<<MONKIES
Foo
Bar
Baz
MONKIES;
EOT真的代表什么吗?如果是,是什么?
PHP 的Heredoc 示例似乎总是使用 EOT(有时是 EOD)作为分隔字符串,而实际上这里可以使用任何字符串。这有效:
$mystring = <<<EOT
Foo
Bar
Baz
EOT;
虽然这也有效:
$mystring = <<<MONKIES
Foo
Bar
Baz
MONKIES;
EOT真的代表什么吗?如果是,是什么?
它代表“文本结束”。</p>
实际上end of text
会是ETX
——EOT
是end of transmission
。
参考:ASCII - 维基百科
我更喜欢参考 TRON 并使用“EOL”(行尾)。
可能是 E nd O f T ext 和E nd O f Data。
唯一能明确告诉您首字母缩略词含义的是原始(和当前)文档的作者。但是基于早期版本的文档中提到“这里是文档文本”,我认为可以合理地假设EOT的意思是 End of Text。
同样,当前文档对 Nowdocs 和 SGML 部分进行了比较<![CDATA[ ]]>
,因此合理的假设是EOD代表 End Of Data。
当然,ASCII 标准中有 EOT 的定义,但它指的是单个字符04
16,除非明确说明,否则此定义不会转移到其他任何内容。在这方面,我们可以从 ASCII 标准中学到的唯一一件事就是三个字母的编码E
,O
和T
。
当然,这都是猜测,但这是我能想到的唯一合理的解释。就个人而言,我更喜欢通过使用单个下划线 ( <<<_
) 来避免整个问题。