САМОУЧИТЕЛЬ PHP 4

Here-документ


В четвертой версии PHP появился и еще один способ записи строковых констант, который исторически называется here-документом (встроенный документ). Фактически он представляет собой альтернативу для записи многострочных констант. Выглядит это примерно так:

$a=<<<MARKER

Äàëåå èäåò êàêîé-òî òåêñò,

âîçìîæíî, ñ ïåðåìåííûìè, êîòîðûå èíòåðïîëèðóþòñÿ:

íàïðèìåð, $name áóäåò èíòåðïîëèðîâàíà çäåñü.

MARKER;

Строка MARKER может быть любым алфавитно-цифровым идентификатором, не встречающимся в тексте here-документа в виде отдельной строки. Синтаксис накладывает 2 ограничения на here-документы:

r    после <<<MARKER и до конца строки не должны идти никакие непробельные символы;

r    завершающая строка MARKER; должна оканчиваться точкой с запятой, после которой до конца строки не должно быть никаких инструкций.

Эти ограничения настолько стесняют свободу при использовании here-документов, так что, думаю, вам стоит совсем от них отказаться. Например, следующий код работать не будет, как бы нам этого ни хотелось (функция strip_tags() удаляет тэги из строки):

echo strip_tags(<<<EOD);

Êàêîé-òî òåêñò ñ <b>òýãàìè [В. О.32] </b> — ýòîò ïðèìåð ÍÅ ðàáîòàåò!

EOD;

Надеюсь, в будущем разработчики PHP изменят ситуацию к лучшему, но пока они этого не сделали.



Содержание раздела