NOWDOC в PHP 5.3.0

В PHP 5.3.0 появилась новая синтаксическая конструкция: «NOWDOC». Сильно похожа на «heredoc», но с тем различием, что в «nowdoc» нет интерполяции переменных:

Следующий пример выведет в точности тот текст, который находится внутри nowdoc:
echo <<<'EOT'
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital 'A': x41
EOT;
Второе отличие от heredoc, что nowdoc можно использовать в любом статическом контексте, например так:
class foo {
    public $bar = <<<'EOT'
bar
EOT;
}
13 марта 2008 13:26

Alisey (alisey.myopenid.com)
13 марта 2008, 22:15

Вот как можно пользоваться heredoc, он же нарушает картину вложенности блоков. Лучше бы ввели %Q из Ruby.

zencd.livejournal.com (zencd.livejournal.com)
13 марта 2008, 23:08

Не понимаю почему в одном случае EOT 'взято' в кавычки, а в другом нет. Во-первых непоследовательно, во-вторых непреемственно, в-третьих зачем они вообще, кавычки о_О.

bolk (bolknote.ru)
14 марта 2008, 11:58, ответ предназначен Alisey (alisey.myopenid.com):

Иногда это очень удобно, но в Perl6 это куда удобнее…

bolk (bolknote.ru)
14 марта 2008, 12:01, ответ предназначен zencd.livejournal.com:

Кавычки, чтобы отличить heredoc и nowdoc.

Test (инкогнито)
25 сентября 2012, 00:20

Жаль, что только в 5.3 появился, некоторые хостинги всё ещё 5.2 используют...

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)