一般的な PHP ドキュメントでは、PHP タグは の形式で表示されることはわかっています。ただし、一部のオープン ソース システムでは、ファイル内に 部分がない場合もあります。そして、?> が他のファイルにないように感じます。なぜこのように書けるのか、またその意味を教えてください。
返信内容:
まず、マニュアルの元のテキストのセクションを抜粋します。ファイルの内容が純粋な PHP コードである場合は、ファイルの末尾にある PHP を削除するのが最善です。
終了タグ。これにより、PHP 終了タグの後に誤ってスペースや改行を追加してしまう問題が回避されます。
現時点でスクリプト内でこれらの空白を出力する意図がない場合、PHP はこれらの空白の出力を開始します。
これらの影響が最も発生しやすいのは、include と require を使用するときです。終了タグを追加し、その後にスペースを追加すると、冗長な出力が発生したり、PHP エラーが発生したり、後続の出力が表示されなくなったりする可能性があります。空白のページ。したがって、すべての PHP ファイルでは、
PHP 終了タグを省略し、これがファイルの最後であることを示すコメントを挿入し、アプリケーションに関連してファイルを配置する必要があります。これは、ファイルが終了し、削除されていないことを確認するのに役立ちます。
header、setcookie など、呼び出される前に出力を持たない一部の関数では、?> で終わる PHP ファイルがこれらの関数の前にロードされ、同時に、誤って末尾の後に改行を追加すると、 ?> など。これらの空白文字は、?> の外側に配置されるため、PHP では無視されません。この場合、ファイルがロードされると、それらは出力として扱われます。ヘッダーや他の関数が呼び出される前に PHP エラーが発生します。終わりがない場合、PHP 構文は空白を無視し、エラーは発生しません。
<code class="language-text">第一,文件末尾的 ?>可以省略
第二,该脚本若被其他脚本包含,所以该脚本不需要结束,否则会报错,因为是要和其他脚本衔接,只有在php代码后面需要写html的才使用闭合标签。
</code>
ログイン後にコピー
上の階の正しい答えは、php コードの後に html を記述する必要がある場合にのみ終了タグを使用することです。