Выражение PHP <<< EOB
Я развиваюсь с PHP уже несколько лет и недавно наткнулся на этот код:
<?php
echo <<<EOB
<html>
<head>
<title>My title</title>
</head>
...
EOB;
?>
Я никогда не видел такой подход для печати HTML, который, кажется, очень полезен и менее склонен к какой-то странной ошибке синтаксиса переменной или двойной цитаты.
Я искал какую-то официальную информацию об этом и только нашел сообщение о том, что Rasmus говорит об этом.
Что такое подробное объяснение этой функции и что означает EOB? Может быть, конец блока?
Ответы
Ответ 1
Это называется heredoc синтаксис. Документация расскажет вам все, что вам нужно знать.
По существу, однако:
Третий способ разграничения строк - это синтаксис heredoc: < < После этого оператора предоставляется идентификатор, а затем строка новой строки. Далее следует строка, а затем тот же идентификатор, чтобы закрыть цитату.
Идентификатор закрытия должен начинаться в первом столбце строки. Кроме того, идентификатор должен следовать тем же правилам именования, что и любой другой ярлык в PHP: он должен содержать только буквенно-цифровые символы и символы подчеркивания и должен начинаться с символа без знака или подчеркивания.
Итак, EOB
- это то, что автор выбрал в качестве своего разделителя, не совсем уверен, что он обозначает в своем случае, но идентификатор может быть тем, что вы хотите.
Ответ 2
Просто для полноты, Heredoc в PHP наследуется от Perl, который сам унаследовал его от Bourne shell.
Ответ 3
Он называется heredoc и описан в manual.
Ответ 4
Официальным термином является "здесь документ", я считаю, обычно сокращается до "heredoc".
Ответ 5
Это называется синтаксисом heredoc
. Он позволяет обрабатывать большие блоки текста, такие как строка. Он также позволяет использовать символы новой строки. Переменные можно вставлять в блок текста, точно так же, как использовать двойные кавычки для строк.
Более полезное объяснение можно найти на собственном веб-сайте PHP: http://php.net/manual/en/language.types.string.php