Blog

PHPのヒアドキュメントが便利

2009年5月21日

PHPでHTMLをfor文などで繰り返し吐き出すために代表的なメソッドとしてprintやechoなどがありますが、ヒアドキュメントといった便利な方法があります。

printやechoでは””(ダブルクオーテーション)が記述できなかったり、改行文字はUNIXでは「\n」、Windowsでは「\r\n」、マッキントッシュでは「\r」などを使います。

こういった改行文字を入れていくと、コードがわかりにくくなったりするなと僕のようなプログラム初心者は感じてしまいます。

そんなときは簡単にHTMLを出力できるヒアドキュメントを組み合わせて使うと便利です。printで直接出力する場合は以下のようになります。

<?php
print <<< DOCUMENT
/* HTMLのコードを記載 */
DOCUMENT;
?>

上記のDOCUMENTという部分は任意で決められますので、分かりやすい英語で記載すると良いと思います。下記はBLOGのリストページを作成することを想定してforearchでイテレーションを行う際のサンプル例です。ヒアドキュメントを変数に格納するやり方もあります。

<?php
$a = array("タイトル1" "タイトル2" "タイトル3");
foreach( $a as $value ){
$entry_display = <<<ENTRY_DISPLAY
<div class="post">
<h2>$value</h2>
</div>
ENTRY_DISPLAY;
}
print  $entry_display;
?>