$test= <<<EOF
....
EOF;
Я никогда раньше этого не видел. Для чего он использовался?
$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-код, который у меня есть/вставлен.