PHP タグ

PHP はファイルを解析して開始タグと終了タグ (<?php?>) を探します。 タグが見つかると、PHP はコードの実行を開始したり終了したりします。 このような仕組みにより、PHP を他のあらゆる形式のドキュメント中に 埋め込むことができるのです。つまり、開始タグと終了タグで囲まれている 箇所以外のすべての部分は、PHP パーサに無視されます。

PHP では、短い形式の開始タグ <? および ?> も使えます (しかしこれはおすすめしません。というのも、この形式のタグは php.inishort_open_tag を有効にするか --enable-short-tags オプションつきで PHP を configure した場合でないと使えないからです)。

ファイル全体が純粋な PHP コードである場合は、ファイルの最後の終了タグは省略するのがおすすめです。 終了タグの後に余分な空白や改行があると、予期せぬ挙動を引き起こす場合があるからです。 余分な空白や改行のせいで PHP が出力バッファリングを開始し、その時点の内容を意図せず出力してしまうことになります。

echo "みなさん、こんにちは";

// ... いろんなコードたち

echo "最後のごあいさつ";

// PHP 終了タグを書かずに、ここでスクリプトを終わります。

add a note add a note

User Contributed Notes 4 notes

18 days ago
A few related notes, partly covered elsewhere in the manual:

  → Since PHP 5.4 the inline echo <?= ?> short tags are always
    enabled regardless of the short_open_tag (php.ini) setting.

  → PHP tags are infrequently also referred to as open/close "tokens"
    (as per the tokenizers T_OPEN_TAG / _ECHO, and T_CLOSE_TAG naming).

  → The historic ASP-style <% %> and even more rarely used
    <script language=PHP></script> tags are to be repealed in PHP7.

There also exists a small tool called "phptags tidier" for consistently rewriting PHP short/long tags.  It's suitable to normalize include and template scripts, e.g. employ the always-enabled long <?php ?> tags, and/or relieve whitespace padding before/after PHP tags:

    phptags --long --whitespace --warn  *.php

Instead of reliably fixing the common whitespace/BOM issues around tags, it can also just remove all ?> close tags with `--unclose --tokenizer` as advised afore.
alexander dot podgorny at somewhere dot com
1 month ago
One reason to use long tags over short is to avoid confusion with <?xml ?> notation.
billscloud dot mail at gmail dot com
1 month ago
In your paragraph you need to close your bracket.

preda dot vlad at yahoo dot com
1 year ago
So here are the valid ways to open PHP tags:

<?php ?> // standard tags
<? ?> // short tags, need short_open_tag enabled in php.ini
<% %> // asp tags, need asp_tags enabled in php.ini
<script language="php"> </script> // case insensitive

PSR-1 coding standards suggest to only use <?php ?> or <?= ?> (echo short tags) - and no other variations, and PSR-2 suggests to not close the tags in PHP only files.
To Top