PHP は、Web 開発で最も頻繁に使用されるプログラミング言語の 1 つです。この言語の最も重要な特徴の 1 つは、さまざまな制限方法を提供していることです。 PHP の開始タグと終了タグを簡単に見てみましょう。

  • <?php ?>
  • <?= ?>
  • <? ?>
  • <% %>

PHP をより効率的に使用するには、これらのタグの違いと重要性を理解する必要があります。この記事では、PHP タグを効果的に使用する方法を学びます。

なぜ短い PHP タグを使用すべきではないのでしょうか?

短い PHP タグは、コーディングの容易さと速度の点でより便利です。ただし、ほとんどのホスティングおよびサーバーでは、PHP.ini 設定でデフォルトで無効になっています。これらの短いタグが機能するための PHP.ini 設定 short_open_tag オプションを有効にする必要があります。したがって、すべての PHP サーバーで確実に機能する唯一の方法は次のとおりです。 。自分が制御していないサーバーに PHP をデプロイすることを検討している場合は、いつでも行うことができます。 <?php ?> というアプローチを使うべきです。

短い PHP エコータグと PHP.ini

<?php echo() ?>

PHPで <?= PHP 設定のタグ short_open_tag このオプションが有効かどうかに関係なく使用できるため、上記のショートカットの代わりにこのショートカットを安全に使用できます。
自分用にコードを書いているだけで、使用する PHP 構成を制御できる場合は、短いタグの方が便利であることがわかります。でも、覚えておいてください <? ?> タグは XML 宣言と競合する可能性があります。また、 <% %> このタグは実際には ASP スタイルです。

PHP の終了タグと潜在的な問題

純粋な PHP ファイル (たとえば、クラス定義のみを含むファイル) を閉じる ?> タグを追加する際は、空白行が残らないように注意してください。 PHP インタープリターは、終了タグの後の単一の改行文字を安全に「実行」できますが、他の改行がブラウザーに出力される可能性があります。その後 HTTP ヘッダーを作成すると、事態はさらに混乱する可能性があります。

PHP PSR-2

PSR-2 コーディング標準は、PHP のベスト プラクティスを決定するために作成された PHP PSR コーディング標準の一部です。 PSR-2 コーディング標準は、PHP コードを含むファイルにのみ適用されます。 ?> 終了タグを使用しないことをお勧めします。この推奨の主な理由は、スペースや改行などの文字が終了タグの後に誤ってブラウザに送信されるのを防ぐためです。 PHPでは、 ?> タグに続く文字は、自動的に HTML 出力の一部とみなされます。これは、HTTP ヘッダーを処理する場合に特に問題となる可能性があります。

PHP ファイルの末尾に不要な文字があると、HTTP ヘッダーが正しく処理されなくなる可能性があります。 HTTP プロトコルでは、コンテンツが送信される前にヘッダーが完成する必要があるため、出力ではヘッダーを送信できません。これにより、ヘッダー送信済みとして知られる問題が発生し、セッションの開始、Cookie の設定、ページのリダイレクトなどのアクションに影響を与える可能性があります。

したがって、PSR-2 では、このような一般的なエラーを回避し、コードのクリーンさを維持するために、PHP コードのみを含むファイルでは終了タグを使用しないことをお勧めします。このアプローチにより、コード末尾の不要なスペースや行末文字によって発生する可能性のある問題が排除され、PHP スクリプトのより安定したエラーのない動作に貢献します。

PHP タグと互換性

古いバージョンの Web アプリケーションを作成する場合、閉じます ?> タグ付きのhtml <!doctype> タグの間に改行を入れないよう注意してください。古いバージョンの IE では、Doctype 宣言の前に改行を含むスペースが含まれていると、別のエラーがスローされることがあります。これは、IE の新しいバージョンやその他のより高度なブラウザには当てはまりません。 (つまり、IE 以外のすべてのブラウザの場合です。)