PHP が終了タグのターミネータを書き込まない場合があるのはなぜですか?
いくつかの情報を見つけましたが、PHP 終了タグに関するみんなのまとめは次のとおりです:
利点: これが他の人によって組み込まれたプログラムであり、この終了文字がなければ、多くの問題を軽減できます。たとえば、header、setcookie、session_start では、これらのアクションの前に出力を含めることができません。誤って ?> の後に非表示の文字 (余分なスペース、改行) を追加すると、「 」が報告されます。ヘッダーはすでに送信されました」というエラーが発生します。これを書かなければ、この問題は発生しません。また、カーソルを末尾に直接移動してプログラミングを続けることもできます。
欠点: Dreamweaver の表示モードでは、混乱します。
PHP 終了タグに関する公式の説明は次のとおりです: PHP 終了タグ ?> PHP アナライザーは PHP ではオプションです。ただし、終了タグが使用されている場合、開発者、ユーザー、または FTP アプリケーションによって終了タグの後にスペースが挿入されると、冗長な出力、PHP エラー、表示できない後続の出力、および空白ページが発生する可能性があります。したがって、すべての PHP ファイルでは、PHP 終了タグを省略し、これがファイルの最後であることを示すコメントを挿入し、アプリケーションに関連してファイルを配置する必要があります。これは、ファイルが終了し、削除されていないことを確認するのに役立ちます。
不適切:
echo “これが私のコードです!”;
?>
適切:
echo “これが私のコードです!”;
/* ファイルの終わり myfile.php */
/* 場所: ./system/modules/mymodule/myfile.php */
したがって、純粋な php コードの場合、? > 終了識別子は省略する必要があります。