heredocs
1. Текст heredocs ведет себя так же, как строка в двойных кавычках, без двойных кавычек.
2. Кавычки в heredoc не нужно экранировать, но коды перехода \n перевод строки,
\r возврат каретки, \t горизонтальная табуляция, \v вертикальная табуляция, \e escape, \f перевод страницы, \ обратная косая черта, \$ знак доллара, \" двойные кавычки все еще могут использоваться. Переменные расширяются, но при выражении сложных переменных внутри heredoc необходимо соблюдать такую же осторожность, как и при выражении строк.
Пример :
$myname='Tikku';
$heredoc_exmaple= <<<HEREDOC
\\n ,\\r ,\t ,\r ,\\v ,\\e ,\f ,\\ , \ ,$89 ,$ , $myname , ' , \$myname , \" ,\'
HEREDOC;
echo $heredoc_exmaple;
//OUTPUT \n ,\r , , ,\v ,\e , ,\ , \ ,$89 ,$ , Tikku , ' , $myname , \" ,\'
nowdocs
1. Текст nowdocs ведет себя так же, как строка в одинарных кавычках, без одинарных кавычек.
2. Кавычки в nowdocs не нужно экранировать. Переменные в нем не раскрываются. Преимуществом nowdocs является встраивание кода PHP и экранирующих кодов без необходимости экранирования.
Пример :
$myname='Tikku';
$nowdoc_exmaple= <<<'NOWDOC'
\\n ,\\r ,\t ,\r ,\\v ,\\e ,\f ,\\ , \ ,$89 ,$ , $myname , ' , \$myname , \" ,\'
NOWDOC;
echo $nowdoc_exmaple;
//OUTPUT \\n ,\\r ,\t ,\r ,\\v ,\\e ,\f ,\\ , \ ,$89 ,$ , $myname , ' , \$myname , \" ,\'
Синтаксис: Nowdoc идентифицируется той же последовательностью ‹‹‹, которая используется для heredocs, но следующий идентификатор заключен в одинарные кавычки, например ‹‹‹ «НОВДОК». Все правила для идентификаторов heredoc также применяются к идентификаторам nowdoc, особенно те, которые касаются внешнего вида закрывающего идентификатора.
person
Dhairya Lakhera
schedule
13.10.2017