Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

第 6 章 基本的な構文

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でサポートされるタグは以下のとおりです:

例 6-1HTMLからの脱出法

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

3.  <script language="php">
        echo ("(FrontPageのような) いくつかのエディタ は処理命令を好み
        ません");
    </script>

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

最初の方法は、短縮型のタグが有効な場合にのみ利用可能です。 短縮型のタグは、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 は、次のような構造を使用可能です。

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

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