※ ChatGPTを利用し、要約された質問です(原文:すみません また宜しくお願いいたします。)
Nowdoc(ナウドック)とは? - PHPのNowdoc構文について
このQ&Aのポイント
Nowdoc(ナウドック)は、シングルクオートで囲んだ終端識別子を使用することで、複数行の文章をそのまま表記できるPHPの構文です。
Nowdocでは、変数やエスケープ文字を展開しないため、文字列がパースされずにそのまま出力されます。そのため、展開やエスケープが必要ない場合に利用されます。
PHP 5.3以降では、変数を含んでいないか、ドル文字が適切にエスケープされていれば、ヒアドキュメントもconstに指定することができます。
<html>
<head>
<meta "charset=utf-8" />
<title>P62Nowdoc</title>
</head>
<body>
<?php
$age = 15;
$foo = <<<'EOI '
Nowdoc(ナウドック)では終端識別子をシングルクオートで囲みます。
複数行にわたる文章をそのまま表記することができます。
Tom の年齢は "$age" 歳です。
この $age は展開されず、 $age のまま出力されます。
EOI;
class NowDocTest
{
const DOCUMENT1 = <<<'EOI'
変数やエスケープ文字を展開しないため、文字列がパースされません。
このため、constに指定できます。
EOI;
const DOCUMENT2 = <<<EOI
PHP 5.3 からは、変数を含まない、または、ドル文字が適切にエスケープ
されていれば、ヒアドキュメントもconstに指定できます。
ドルを含んだ文章は、 \$foo のようにドル文字をエスケープします。
EOI;
}
?>
</body>
</html>
以下実行結果です。
Parse error: syntax error, unexpected '<<' (T_SL) in C:\xampp\htdocs\study.localhost\P62Nowdoc.php on line 12