PHP的Heredoc examples似乎总是使用EOT(有时候是EOD)作为分离字符串,而实际上可以在这里使用任何字符串。这有效:
$mystring = <<<EOT
Foo
Bar
Baz
EOT;
虽然这也有效:
$mystring = <<<MONKIES
Foo
Bar
Baz
MONKIES;
EOT是否真的代表什么?如果是的话,那是什么?
它代表“文本结束”。
实际上end of text
将是ETX
- EOT
是end of transmission
。
我更喜欢TRON参考并使用'EOL'(行尾)。
可能是文本结束和数据结束。
唯一能够明确告诉你缩写词含义的是原始(和当前)文档的作者。但是基于提到“这里的文档文本”的early version of the documentation,我认为可以合理地假设EOT旨在表示文本的结尾。
类似地,current documentation对Nowdocs和SGML <![CDATA[ ]]>
部分进行了比较,因此合理的假设是EOD代表End Of Data。
当然,在ASCII standard中有一个EOT的定义,但它指的是单个字符04
16,除非明确说明,否则此定义不会转移到其他任何内容。关于我们在这方面可以从ASCII标准中学到的唯一东西是三个字母E
,O
和T
的编码。
这当然是猜测,但这些是我能想到的唯一明智的解释。就个人而言,我更喜欢使用单个下划线(<<<_
)来避免整个问题。
缩写EOT代表“文本结尾”。