Что это за синтаксис в PHP?

$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-код, который у меня есть / вставлен.