記述した内容をそのまま表示できる点でヒアドキュメントは便利ですが、ヒアドキュメントの中に記述した変数が展開(値が出力される)されてしまうのが不便なときもあります。
<?php echo <<<EOM 使う変数は$aです。 EOM; ?>
![ヒアドキュメントで変数名の表示に失敗する ヒアドキュメントで変数名の表示に失敗する](https://php1st.com/wp-content/uploads/2013/05/051-300x208.png)
ヒアドキュメントで変数名の表示に失敗する
PHP5.3.0以降であれば、Nowdoc構文を使うと解決できます。ヒアドキュメントと同じように、指定した内容をそのまま出力できる機能ですが、その内容は、ダブルクォーテーションではなくシングルクォーテーション囲みの文字列として扱われます。つまり、変数名も展開せずにそのまま出力することができます。
Nowdocの書式はヒアドキュメントとほぼ同じですが、開始部分を「<<<‘EOM’」のようにシングルクォーテーションで囲む点だけが異なります。
<?php echo <<<'EOM' 使う変数は$aです。 EOM; ?>
![Nowdocによる変数名の出力 Nowdocによる変数名の出力](https://php1st.com/wp-content/uploads/2013/05/052-300x160.png)
Nowdocによる変数名の出力