PHPのタグ
そふぃのPHP入門 >> PHP言語リファレンス >> PHPの基本文法 >> PHPのタグ

PHPのタグ

PHPスクリプトの記述

  1. <?php PHPスクリプト ?>
  2. <? PHPスクリプト ?> short_open_tagが有効の必要有
  3. <script language="php"> PHPスクリプト </script>
  4. <% PHPスクリプト %> asp_tagsが有効の必要有

PHPスクリプトの開始と終了

PHPはHTMLと混在して書くことができると説明したと思いますが、具体的にはどうするかを解説していきます。PHPスクリプトを記述するためにはまず最初にPHPスクリプトの始まりを表さなければなりません。「ここからはPHPですよ」とサーバに知らせるわけですが、それにはタグを使います。

HTMLなんかと一緒でPHPスクリプトの始まりと終わりをタグで表し、そのタグ(PHPタグ)に挟まれた部分がPHPとして認識されます。PHPタグの外にある記述(まぁHTMLが普通だと思いますが)は単純に出力されるだけなのでスクリプトが実行される事はありません。

一般的なPHPタグ
<?php
ここにPHPスクリプトを記述
?>

<?php」が開始タグ、「?>」が終了タグですね。この「<?php」から「?>」の間に実際のPHPスクリプトを記述していきます。

PHPタグの種類

PHPでサポートされているPHPタグは上記の「<?php ~ ?>」以外にもありますので紹介させて頂きます。

PHPタグ1―一般的・最も推奨される形式
<?php
PHPスクリプト
?>
PHPタグ2―PHPタグ1の省略形。オプションが有効になっている必要がある。
<?
PHPスクリプト
?>
PHPタグ3
<script language="php">
PHPスクリプト
</script>

順番に解説していきますが、1がもっとも一般的な形でさっきも紹介した形式です。通常はこの方式を使用する事が推奨されます。3はJavaScriptなどで見慣れた形式でしょう。1と3の形式のタグはいつでも無条件に使う事ができます。

2の形式は1「<?php ~ ?>」の省略形です。このタグを使用するにはphp.iniというPHPの設定ファイルの「short_open_tag」という項目がOn(有効)になっている必要があります。デフォルトではOnに設定されているためふつーはあまり意識しなくても使えます。ご自分のサーバの設定が有効かどうかはphpinfoをご覧下さい。phpinfoの作り方はPHPの動作確認を参考にして下さい。

phpinfo画面で「short_open_tag」のOn/Offがチェックできます。この形式はPHPをXMLと組み合わせて使う時にOffにする必要があります。XMLでは、「<?xml ~ ?>」を使用する為だと説明されています。この形式はほとんどの場合使えますがあまり推奨されていません。

PHPのタグ4―ASP形式。オプション扱いのため、設定の変更をしないと使えない。
<%
PHPスクリプト
%>

4番目の方法ですが、これはASPなどで使われる形式です。この形式はPHP設定ファイル(php.ini)の「asp_tags」という項目がOnになっていないと使えませんが、オプション扱いのためデフォルトでこの値はOffに設定されています。という事で普通は使えません。この設定のOn/Offも前述のphpinfo画面の「asp_tags」で確認できます。この形式のタグはPHP3.0.4で追加されたのでそれ以前のバージョンでは何をどーやっても使えません。

以上の4つがPHPでサポートされているPHPタグの形式です。実際に使用するのは1の「<?php ~ ?>」が望ましいと思われますので通常はこの形式を使用していれば問題ないでしょう。次に紹介する方法も頻繁に使うためぜひ覚えておいて下さい。

便利な省略形

次に紹介する形式はとても便利な省略形です。なんらかの出力をしたい時などに頻繁に使います。

省略形のPHPタグ形式
<?=  PHPの式  ?>

この形式は以下の省略形です。

<?  echo PHPの式  ?>

この形式は2の「<? ~ ?>」形式の省略形のため、「short_open_tag」の設定がOffになっていると使えません。その場合には1の「<?php ~ ?>」の形式をご利用ください。

echo()とは「文字列を出力する」という命令です。printとほぼ同じ、というと分かる人もいるかもしれません。非常に良く使う命令で、JavaScriptでいうとDocument.Writeかな。ブラウザなどに結果を出力させたい時に使います。

こんな風にHTMLタグ内にPHPを挿入する時などは便利です。
<a href='<?= "ファイルへのパス" ?>'>リンク</a>

以上がPHPタグの便利な省略形ですが、echo()がしっかりと理解できなくてもとりあえず進んでもらって構いません。echo()などはまたすぐ出てきますし、嫌でもそのうち分かります。

最後に、PHPではあまり使わないと思いますが4のASP形式のタグにも省略形があるのでご紹介します。あまり(と、いうかほとんど)使う事はないのですが存在は忘れないでやって下さい^^;

ASP形式のタグを有効(asp_tagsの設定をOn)にした場合、自動的に以下の形式も使えるようになります。
<%=    PHPの式    %>