PHP はファイルを処理する際、開始タグと終了タグ
(<?php と ?>) を認識し、
PHP コード実行の境界を決めます。タグの外側の内容は PHP パーサーに無視されるため、
PHP を他のあらゆる形式のドキュメント中に埋め込むことができるのです。
正しいトークン分割のため、<?php
の後ろに空白文字(空白、タブ、改行)を入れる必要があります。
これがないと文法エラーが発生します。
PHP では、短い形式のechoタグ <?= も使えます。
これは、 <?php echo を短くしたものです。
例1 PHP の開始タグと終了タグ
1. <?php echo 'XHTMLまたはXMLドキュメントの中でPHPコードを扱いたい場合は、このタグを使いましょう'; ?>
2. 短い形式の echo タグを使って <?= 'この文字列を表示' ?> とすることもできます。
これは <?php echo 'この文字列を表示' ?> と同じ意味になります。
3. <? echo 'このコードは短縮型のタグに囲まれていますが、'.
'short_open_tag が有効な場合にしか動作しません'; ?>短縮型のタグ(上の例の 3 番目)はデフォルトで有効ですが、 php.ini 設定ファイルのディレクティブ short_open_tag で無効にすることもできますし、 --disable-short-tags オプション付きで configure した場合は、 デフォルトで無効にすることも出来ます。
注意:
短縮形のタグは無効にすることができるので、 互換性を最大限保つために、通常のタグ (
<?php ?>と<?= ?>) を使うことを推奨します。
ファイルが PHP コードで終わる場合は、ファイルの最後の終了タグは省略するのがおすすめです。 終了タグの後に余分な空白や改行があると、予期せぬ挙動を引き起こす場合があるからです。 余分な空白や改行のせいで PHP が出力バッファリングを開始し、その時点の内容を意図せず出力してしまうことになります。
例2 PHP コードのみのファイル
<?php
echo "みなさん、こんにちは\n";
// ... いろんなコードたち
echo "最後のごあいさつ\n";
// PHP 終了タグを書かずに、ここでスクリプトを終わります。