Heredoc: что на самом деле означает обычно используемое слово «EOT»?

Примеры Heredoc всегда используют EOT (а иногда и EOD) в качестве разделяющей строки, хотя на самом деле здесь можно использовать любую строку. Это работает:

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

Хотя это тоже работает:

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

Действительно ли EOT что-то означает, и если да, то что?


person Aron Rotteveel    schedule 10.03.2011    source источник
comment
Конец текста или, может быть, конец ленты (со старых времен, когда использование лент для хранения данных было стандартом)?   -  person Czechnology    schedule 10.03.2011


Ответы (4)


Это означает «Конец текста».

person Ignacio Vazquez-Abrams    schedule 10.03.2011
comment
Разве начало текста не было бы намного логичнее? :) И что же тогда означает EOD? - person Aron Rotteveel; 10.03.2011
comment
Нет, так как это знаменует конец. То, что вы видите вверху, является сигналом к ​​продолжению до тех пор, пока не будет обнаружен EOT. EOD - это конец данных. - person Quentin; 10.03.2011

На самом деле end of text будет ETX - EOT это end of transmission.

Ссылка: ASCII - Википедия

person Fleshgrinder    schedule 29.04.2013
comment
@ NisseEngström en.wikipedia.org/wiki/End-of-tape перенаправить до конца файла и равно EOF. - person Fleshgrinder; 03.03.2018

Я предпочитаю использовать ссылку на TRON и использовать EOL (конец строки).

person siliconrockstar    schedule 05.12.2013
comment
Это смешно. Я бы отметил это как избранное, если бы мог. : D - person scrfix; 03.03.2014

Короткий ответ

Вероятно E nd O f T ext и E nd O < / strong> f D ата.

Длинный ответ

Единственные, кто может сказать вам окончательно, что означают аббревиатуры, - это авторы исходной (и текущей) документации. Но на основе ранняя версия документации, в которой упоминается документ текст, я думаю, можно было бы с правдоподобием предположить, что EOT означает конец текста .

Аналогичным образом, текущая документация сравнивает разделы Nowdocs и SGML <![CDATA[ ]]>, поэтому разумным будет предположение, что EOD означает конец данных.

Конечно, в стандарте ASCII есть определение EOT, но оно относится к одинарный символ 04 16, и это определение не переносится ни на что другое, если явно не указано иное. Единственное, что мы можем узнать из стандарта ASCII в этом отношении, - это кодировка трех букв E, O и T.

Конечно, это все предположения, но это единственные разумные объяснения, которые я могу придумать. Лично я предпочитаю избегать всей проблемы, используя один символ подчеркивания (<<<_).

person Nisse Engström    schedule 06.03.2018