Heredoc:常用的'EOT'究竟意味着什么?

问题描述 投票:33回答:5

PHP的Heredoc examples似乎总是使用EOT(有时候是EOD)作为分离字符串,而实际上可以在这里使用任何字符串。这有效:

$mystring = <<<EOT
     Foo
     Bar
     Baz
EOT;

虽然这也有效:

$mystring = <<<MONKIES
     Foo
     Bar
     Baz
MONKIES;

EOT是否真的代表什么?如果是的话,那是什么?

php heredoc
5个回答
25
投票

它代表“文本结束”。


12
投票

实际上end of text将是ETX - EOTend of transmission

参考:ASCII - Wikipedia


4
投票

我更喜欢TRON参考并使用'EOL'(行尾)。


2
投票

Short answer

可能是文本结束和数据结束。

Long answer

唯一能够明确告诉你缩写词含义的是原始(和当前)文档的作者。但是基于提到“这里的文档文本”的early version of the documentation,我认为可以合理地假设EOT旨在表示文本的结尾。

类似地,current documentation对Nowdocs和SGML <![CDATA[ ]]>部分进行了比较,因此合理的假设是EOD代表End Of Data。

当然,在ASCII standard中有一个EOT的定义,但它指的是单个字符0416,除非明确说明,否则此定义不会转移到其他任何内容。关于我们在这方面可以从ASCII标准中学到的唯一东西是三个字母EOT的编码。

这当然是猜测,但这些是我能想到的唯一明智的解释。就个人而言,我更喜欢使用单个下划线(<<<_)来避免整个问题。


0
投票

缩写EOT代表“文本结尾”。

© www.soinside.com 2019 - 2024. All rights reserved.