$test= <<<EOF .... EOF;
Я никогда этого не видел. Для чего он используется?
Это называется синтаксисом HEREDOC , который является способом определения строк на нескольких строках с переменной интерполяцией.
Цитирование страницы руководства:
Текст Heredoc ведет себя как строка с двумя кавычками без двойных кавычек. Это означает, что котировки в heredoc не должны быть экранированы, но коды эвакуации, перечисленные выше, все еще могут быть использованы. Переменные расширяются, но при выражении сложных переменных внутри heredoc необходимо соблюдать ту же осторожность, что и строки.
(Есть еще что читать, что я не скопировал-вставить с страницы руководства)
И, как очень быстрый и простой пример:
$a = 'World'; $string = <<<MARKER <p> Hello, $a! </p> MARKER; echo $string;
Он даст вам этот результат:
Hello, World!
И этот HTML-источник:
<p> Hello, World! </p>
Это будет Heredoc
http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
Blockquote Третий способ разграничения строк – это синтаксис heredoc: <<<. После этого оператора предоставляется идентификатор, а затем строка новой строки. Далее следует строка, а затем тот же идентификатор, чтобы закрыть цитату.
Идентификатор закрытия должен начинаться в первом столбце строки. Кроме того, идентификатор должен следовать тем же правилам именования, что и любой другой ярлык в PHP: он должен содержать только буквенно-цифровые символы и символы подчеркивания и должен начинаться с символа без знака или подчеркивания.
Действительно, это синтаксис Heredoc .
На всякий случай вам интересно, какой интерес он может иметь против регулярных разделителей строк:
// These strings contain the same thing '"'" $s1 = '\'"\'"'; $s2 = "'\"'\""; $s3 = <<<EOS '"'" EOS
Больше цитат не ускользает.
Типичный вариант использования для меня – когда мне нужно хранить в строке какой-то HTML-код, который у меня есть / вставлен.