第 5章基本的な構文

目次
HTML からの脱出
命令の分離
コメント

HTML からの脱出

PHPはファイルからPHPコードの開始を示す特別なタグを見つけるまでは 単純にその内容を出力します。PHPコードの開始を示すタグが見つかると PHPはコードの終了を示すタグとの間にあるコードを実行します。この メカニズムによりPHPコードをHTMLの中に埋め込むことが出来るのです。 つまり、PHPタグの中にある文字列はPHPコードとして解釈されますが、 外にある文字列(つまり普通のHTML)はあくまで単純に出力されるだけ ということです。

PHPコードのブロックであることを宣言するタグは4種類あります。 これらのうちの2つ((<?php. . .?>と<script language="php"> . . .</script>)は常に使用することが出来ます。その他の タグはphp.ini設定ファイルでonまたはoffに するとが出来ます。短縮型のタグ(<?. . .?>)とASP形式の タグは便利なのですが、長いタグに比べると移植性に欠けます。 また、PHPコードをXMLやXHTMLに埋め込もうとする場合にはXMLの 規格に従うために<?php. . .?>形式を使用する必要があるでしょう。

PHPでサポートされるタグは以下のとおりです:

例 5-1. HTMLからの脱出法

1.  <?php echo("XHTMLまたはXMLドキュメントを処理したい場合は、この方法が良いでしょう\n"); ?>

2.  <? echo ("この方法は最も簡単で、SGMLの処理命令です\n"); ?>
    <?= expression ?> は "<? echo expression ?>"のショートカットです。
    
3.  <script language="php">
        
echo ("(FrontPageのような) いくつかのエディタ は処理命令を好み
        ません"
);
    
</script>

4.  <% echo ("オプションでASP形式のタグを使用可能です"); %>
    <%= $variable; # これは、"<%echo .." のショートカットです。%>

最初の方法が推奨されます。なぜなら、 XHTMLのようなXMLに適応したコードでPHPを使用できるからです。

2番目の方法は、短縮型のタグが有効な場合にのみ利用可能です。 短縮型のタグは、short_tags() 関数を使用するか (PHP 3のみ)、 PHPの設定ファイルに short_open_tagを設定する か--enable-short-tags オプションを configure に 指定して PHP をコンパイルすることにより、有効にできます。 php.ini-distでは、デフォルトでこのオプションは有効となっていますが、 短縮形のタグの使用は推奨されません。

4番目の方法は、ASP型式のタグが asp_tags の設定により有効となっ ている場合にのみ使用可能です。

注意: ASP 型のタグのサポートは、3.0.4で追加されました。

注意: 再利用されるか、または、自分の制御下にないPHPサーバで運用される アプリケーションまたはライブラリを開発する場合、短縮型のタグの 使用は避けるべきです。これは、短縮型のタグがターゲットサーバー でサポートされていない可能性があるためです。 可搬性のある、再配布可能なコードでは、短縮型のタグを使用しない ようにして下さい。

ブロックの終了タグは、直後に改行がある場合、それを含んだものになります。 また、終了タグには自動的にセミコロンが含まれていると認識されます。 従ってPHPコードの最終行にはセミコロンを記述する必要はありません。 ファイル終端におけるPHPブロックの終了タグはオプション(任意)です。

PHP は、次のような構造を使用可能です。

例 5-2. 高度なエスケープ処理

<?php
if ($expression) {
    
?>
    <strong>This is true.</strong>
    <?php
} else {
    
?>
    <strong>This is false.</strong>
    <?php
}
?>
このコードは期待通りに動作します。これは、PHPが?> および <?phpの中のテキストをecho()命令として処理す るためです。この例はもちろん不自然なものですがPHPモードを抜ける ことでテキストを出力させる方法は、それらをecho()print()等を使って出力させるより便利です。