ヒアドキュメントで定型文をもっと楽に書こう。

長ったらしいechoやprintの一行一行を簡単に記述する。
まず以下のコードを見てください。
PHP

  echo '<form action="thanks.php" method="post">';
  echo '<input type="submit" onClick="history.back()" value="戻る">'."\n";
  echo '<input type="submit" value="送信">'."\n";
  echo '</form>'."\n";

フォームの送信ボタン部分です。
PHPのif文の判定で正しい値を入力されたら、先へ進む送信ボタンが表示されるようになっています。
これらのコードはシングルクォーテーションやダブルクォーテーション、
エスケープシーケンスが入り乱れていて書くのも面倒なのを「ヒアドキュメント」を使用することで簡素化できます。

『<<<(ヒアドキュメント)』

ヒアドキュメントは"<<<"の合図で始まり、次に記述するIDワード(この場合は「EOM」)が次に出てくるときに終了を意味します。

echo <<< EOM
<form action="thanks.php" method="post">
<input type="submit" value="送信">
</form>
EOM;

このように。\n が無くても改行が反映され、ダブルクォートやシングルクォートのエスケープも気にする必要がありません。

また、send_mail()のようなメール問合せ等を返す定型文などは
ヒアドキュメントを使用することで、だいぶ楽になります。
なお、ヒアドキュメント内で変数を使用する場合は以下のように
{}(ブランケット)を使用します。

$name = $_SESSION['name'];
$email = $_SESSION['email'] ;
$message = $_SESSION['message'];

echo <<<EOM
{$name}様<br>
お問合せ有難うございました。<br>
お問い合わせ内容『{$message}』を<br>
{$email}にお送りしましたのでご確認ください。
EOM;
注意点

ヒアドキュメントを記述する際の注意点

  • 開始IDワードの注意
    • IDの前後に全角スペースがあるとその空白を含めたIDワードとなる。
    • IDの後ろのタブ&半角スペースは入れられない。
    • <<<とIDの間にはタブ&半角を入れられない
    • IDの後ろにはコメントが入れられない。
  • 終点IDワードの注意
    • IDは必ず行頭に記述しなければならない。
    • 終点IDの行はIDワードと「;」(セミコロン)以外置かない。
    • コメントももちろんつけられない。