PHPでHTMLを出力する楽な方法2、WebデザイナーのPHP

前回ヒアドキュメントについて書きましたが、ヒアドキュメントを使うとすぐその場で出力をしてしまいますので使えない時もあります。そんな時は変数に格納しておいて後で出力するのですが、HTMLの場合ソースに「”」ダブルクオートが使われている場合があるので少し面倒です。

以下のPHPの例のように変数「$X」にHTMLを格納する場合エスケープ処理が必要です。

$Link_URL = "http://blog.tasdesign.jp/";
$X= "<a href=\"$Link_URL\">TAS designがオープン!</a>";

「’」シングルクオートで囲むことは出来ません、変数「$Link_URL」が展開されないからです。
このような記述をすると長いHTMLを変数に格納する場合、エスケープ処理でソースが見にくいですしHTMLの修正が面倒になります、特にエディタでの編集が難しくなります。

そんな時には文字列を「.」ドットで繋ぎ「’」シングルクオートで囲むことにより見やすく簡単にすることが出来ます。
FLASHやっている人にはおなじみかも知れませんがActionScriptのメソッドで「ドットシンタックス」 を使うのと同じようなもんです。

先ほどの記述は、

$X= '<a href="'.$Link_URL.'">TAS designがオープン!</a>';

のように「.」ドットで繋ぐことにより「’」シングルクオートで囲んでも変数が展開されます。
この例だとどっちでも良さそうですが、たとえば以下のような場合でしたらどうでしょう?

「”」ダブルクオートで囲む

$X= "<a href=\"$Link_URL\"><img src=\"tasdesign.gif\" width=\"100\" height=\"35\" /></a>";

「’」シングルクオートで囲む

$X= '<a href="'.$Link_URL.'"><img src="tasdesign.gif" width="100" height="35" /></a>';

結果は同じになりますが下の場合の方が見やすいですし手間がかかりません。
このように出来るだけ間違いにくい方法でPHPを書くと楽になると思います。