PHPは元々テンプレートエンジンのような言語なので、PHPタグ(<?php ?>
)の外側ははHTMLとして出力されてしまいます。
なので、プログラムのコアな部分(ほとんどHTMLが含まれていないところ)で閉じタグ?>
があると、予期しない動きになることがあるようです。
ただし、閉じタグの1つ後ろの改行文字はPHPが自動で除去してくれるようです。
<?php // 何らかの処理/class定義や関数ライブラリなど // ファイルの最後は閉じない!
class定義や関数ライブラリ読み込みなどでrequire_onceするときは、HTMLとして変な文字列が出力されないようにしましょう。
参考