ヒアドキュメントで定型文をもっと楽に書こう。
長ったらしい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ワードと「;」(セミコロン)以外置かない。
- コメントももちろんつけられない。