第 6 章 基本的な構文

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

例 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() 等を使って出力させるより便利です。