フリーPHPスクリプト配布サイト。
何行にも渡る長い文章を出力する場合、以下のように echo
を使って改行文字を出力すれば実現できます。
<?php
$purpose = "Webプログラミング";
echo "PHPとは、HTMLへの埋め込み型プログラミング言語です。<br />\n";
echo "正式名称は「PHP: Hypertext Preprocessor」です。<br />\n";
echo "PHPは{$purpose}に利用されます。<br />\n";
echo "<a href=\"detail.php\">詳細を読む<a>\n";
?>
ですが改行文字を書いたりエスケープに気をつけたりする必要があるため、長い文章の場合は少し大変です。このような場合、ヒアドキュメントを使用すれば簡単に書くことができます。以下はヒアドキュメントを使用した例です。
<?php
$purpose = "Webプログラミング";
echo <<< EOM
PHPとは、HTMLへの埋め込み型プログラミング言語です。<br />
正式名称は「PHP: Hypertext Preprocessor」です。<br />
PHPは{$purpose}に利用されます。<br />
<a href="detail.php">詳細を読む<a>
EOM;
?>
これでも、まったく同じ内容が出力されます。\n
が無くても改行が反映され、ダブルクォートやシングルクォートのエスケープも考える必要がありません。
<<<
がヒアドキュメントの合図で、この次に書いた文字が再度出現するまで、すべて出力されます。
今回は EOM
という文字がありますので、再度 EOM
という文字が出現するまで出力されます。EOM
は End Of Message の略で付けていますが、ABC
など他の文字にしても大丈夫です。ちなみに、EOM
の他には EOD
(End Of Document)や EOF
(End Of File)という文字がよく使われます。なお、ヒアドキュメント終了のための EOM
にはセミコロンを付ける必要があるので注意してください。
また、以下のようにすれば、ヒアドキュメントで変数に代入することができます。
<?php
$purpose = "Webプログラミング";
$string = <<< EOM
PHPとは、HTMLへの埋め込み型プログラミング言語です。<br />
正式名称は「PHP: Hypertext Preprocessor」です。<br />
PHPは{$purpose}に利用されます。<br />
<a href="detail.php">詳細を読む<a>
EOM;
echo $string;
?>
長い文章を変数に代入する場合に便利です。
ヒアドキュメントを使ったプログラムの全文を掲載すると、以下のようになります。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>サンプル</title>
</head>
<body>
<p><?php
$purpose = "Webプログラミング";
echo <<< EOM
PHPとは、HTMLへの埋め込み型プログラミング言語です。<br />
正式名称は「PHP: Hypertext Preprocessor」です。<br />
PHPは{$purpose}に利用されます。<br />
<a href="detail.php">詳細を読む<a>
EOM;
?></p>
</body>
</html>
ですがPHPの「HTML文章にプログラムを埋め込む形式で書く」という手法を活用すれば、ヒアドキュメントを使わずに以下のように書くこともできます。
<?php
$purpose = "Webプログラミング";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>サンプル</title>
</head>
<body>
<p>PHPとは、HTMLへの埋め込み型プログラミング言語です。<br />
正式名称は「PHP: Hypertext Preprocessor」です。<br />
PHPは<?php echo $purpose; ?>に利用されます。<br />
<a href="detail.php">詳細を読む<a></p>
</body>
</html>
出力結果は同じですが、最低限必要な部分のみを <?php
~ ?>
で囲っています。このようにすれば、PHPプログラムがまったく解らない人でも、比較的容易にHTML部分を修正できるようになります。(「<?php
~ ?>
の内容はいじらないで」と伝えておけば、他の部分は通常のHTML文章とまったく同じように編集できます。)
「どの書き方が一番すぐれている」というのはありませんので、必要に応じて書き方を選択してください。