ネットまわりの話題を中心に、思ったことをつらつらと書いていくブログです。

PHPの閉じタグ ?> の後に改行を出力する方法

これ常識なのかなあ。
知らなかったので書いときます。

PHP では
<?php?> で囲まれた部分が PHP のコード、
それ以外の部分が HTHL と見なされる。

「デザインとロジックを分離」すれば
両者が混在することはないんだけど、
たとえば CakePHP の view の中には
どうしても PHP のコードを書くことになる。

こういう場合にちょっと困るのが
PHP の閉じタグ ?> のあとの改行が無視される点。

例えばこう書くと

こんなふう(一部略)に出力されてしまって

何だか見栄えがよくない。

そんなこまいことは気にせずに
さっさと開発を進めた方がいいとも思うんだけど、
せめてインデントくらいは揃えたいところ。

これを解決するのにすぐ思いつく方法は次の2つ。

  • ?> の改行後にもうひとつ空行を入れる。
  • PHP を閉じる前に改行コードを出力する。

でもそれだと今度は
PHP のコードの方が見づらくなってしまうし
余計なものが入るから何だかスマートじゃない。

これはもう仕方ないかなあ、と思っていたのだが、
もう一つ方法があることを知った。

  • ?> の後にスペースを入れる。

つまりこういうこと。

_ の部分に半角スペースをひとつ入れるという意味ね。

これでちゃんと ?> の後に改行が入った。

これだって結局余計なものを入れてるので
やっぱりスマートじゃないかもしれないけど
少なくともその前の2つの方法よりはマシだと思う。

というわけで当面この方法を使ってみることにした。

なお「これだから PHP は…」というのは聞こえません。

関連エントリ

前後のエントリ

トラックバック


ブログタイムズ