PHPのヒアドキュメントやNowdocのメモ
複数行にまたがる文字列を扱うときに便利なヒアドキュメントやNowdoc。 EOMは他の文字でもOK(開始と終了が同じ文字なら)。 よく使われるのがEOM(End Of Message)みたい。
ヒアドキュメント
変数を展開することができます。
<?php $name = '鈴木一郎'; $str = <<<EOM <p> こんにちは。<br> 私の名前は{$name}です。 </p> EOM; echo $str; ?> // こんにちは。 // 私の名前は鈴木一郎です。
Nowdoc
開始文字(EDM)をシングルクォーテーションで囲みます。 変数は展開されずそのまま表示されます。
<?php $name = '鈴木一郎'; $str = <<<'EOM' <p> こんにちは。<br> 私の名前は{$name}です。 </p> EOM; echo $str; // こんにちは。 // 私の名前は{$name}です。 ?>
Nowdocは変数が展開できない為、定数として定義する事ができます。
<?php $name = '鈴木一郎'; const str = <<<'EOM' <p> こんにちは。<br> 私の名前は{$name}です。 </p> EOM; echo str; // こんにちは。 // 私の名前は{$name}です。 ?>