PHPの閉じタグは閉じなくて良いじゃなくて、閉じてはいけない!
そうなんですよ・・・
PHP始めた頃は、閉じタグきっちり書いてました。
(始めた頃どころか、最近も注意しないと思わず閉じちゃいます。)
しかし、閉じなくていいんですよ。
じゃなくて、閉じても「100害あって一利なし」です。
実際、CodeIgniterのソースには一切閉じタグがありません。
が、しっかり挙動しています。
私自身は昔、こんなトラップにハマって以来、閉じるのが怖くなりました。
システムでMySQLに画像データをBLOB型で突っ込んで表示するPHPを作っていた時のこと。
画像が全く表示されない・・・
かなり時間かけて調べましたが、コード上変な記述は見当たらない(目視レベルでは・・・)
で、トラフィックをとってみたんです。
すると、画像のバイナリーデータの前に改行コードが・・・・
結局、画像データを取得して表示する・・・前のPHPファイルに「?>」閉じタグのあと改行が・・・・混在していました。
それを拾ってしまったがために画像表示されなかったんですね。
改行を取ったらすんなり表示・・・
閉じタグがなければこんなことは起こりません。
閉じないようにしましょー!