PHPの標準的な記述は開始タグ”< ?php"で始まり、終了タグ(閉じタグ)"?>“で終えるのがお約束です。ところが、Zend Framework PHP 標準コーディング規約では「PHPコードのみからなるファイルではこの終了タグは省略する」と定められています。
PHP コードのみからなるファイルでは、終了タグ (“?>”) は決して含めてはいけません。これは必須なものではなく、 終了タグを省略することで、ファイルの最後にある空白文字が出力に影響することを防ぎます。
終了タグ(閉じタグ)”?>”の直後の改行はPHPの仕様で取り除かれますが、それ以外の部分は全てHTMLコードとしてそのまま出力されてしまうため、余計な改行または空白が表示や動作に影響しかねないというのが理由です。終了タグを省略してもコードの末尾はEOF(End Of File)で検出されます。
ただし、HTML中に埋め込む場合やechoなどの出力をする場合は省略できません。
header()関数を使った時に随分と悩まされたのでメモメモしときます。