ヒアドキュメントとNowdoc構文の違い
関連記事 http://azix.hatenablog.com/entry/2018/05/08/161047
書き方
- 違いは、終端IDが「''」で括られているかどうかだけ!
<!-- ヒアドキュメント --> $text = <<<EOL ここにテキストを入れます EOL;
<!-- Nowdoc構文 --> $text = <<<'EOL' ここにテキストを入れます EOL;
違い
- 出力の結果が変わります
- 変数が変数として出力されるかどうか。
- ヒアドキュメント->変数として出力
- Nowdoc構文->文字列として出力
<!-- [入力]ヒアドキュメント --> $animal = 'ねこ'; $text = <<<EOL これはヒアドキュメントです<br> かわいい生き物:$animal EOL; $echo $text;
[出力] これはヒアドキュメントです かわいい生き物:ねこ
<!-- Nowdoc構文 --> $animal = 'ねこ'; $text = <<<'EOL' これはNowdoc構文です<br> かわいい生き物:$animal EOL; $echo $text;
[出力] これはNowdoc構文です かわいい生き物:$animal
使い分けについて
- 文字列中の特殊文字をそのまま表示したい時にNowdoc構文を使う。それ以外ではヒアドキュメントが無難。(かな)