新しいスクリプト言語への招待

最近「index.php3」とか「abc.php4」など見慣れない拡張子のWebサイトがよくありますが,これは何ですか?


これは,オープンソースのHTML埋め込み型サーバーサイドスクリプト言語「PHP(Hypertext PreProcessor)」のファイルです。HTMLの中に直接スクリプトを書き込むことができるため,アクティブな(ダイナミックに変化させたい)部分と通常の静的なHTMLを組み合わせて使うことができ,その利便性から最近,話題になってきています。

●PHPの特徴
 このPHPの特徴をまとめると,

@スクリプトであること(つまりインタープリタ言語なので,コンパイルがいらない)
AHTML埋め込み型である
Bエラーハンドリングが確実(エラー発生時には,Perlやそのほかの汎用言語とは違い,HTMLが自動生成されて,エラー情報がブラウザ上で要求側に表示されるので,デバッグが容易)
CCライクな文法(if,for,while,do-whileなどC言語などで使われる制御構文が用意されており,比較的学習しやすい)
DApacheのモジュールとして動作(Webサーバー機能のアドオンとして動くので,リソースのむだが少なく,処理も比較的高速)
E数多くのリレーショナルデータベースマネージメントシステム(以下RDBMS)とのインタフェースを標準で装備(Oracle,Sybase,Informixなどの商用RDBMSから,PostegreSQL,MySQLといったオープンソースのRDBMSまでをサポート)


といったことになります。とくにDと絡んで,Webサーバーと一体になることにより,スクリプト側で致命的なエラーが発生するとWebサーバーごと異常終了する可能性もありましたが,Apacheに動的にモジュールを読み込む機能(Dynamic Shared Object)が付いたため,現在ではそのような問題も少なくなっています。
 現在PHPは,PHP3,PHP3国際化対応版,PHP4というバージョンが混在して利用されています。互換性は高いのですが,それぞれに非互換な部分もあり,それらは確認して使う必要があります。
 またPHPと似た実装形態に,ASP(Active Server Pages,「.asp」というWebページ)があります。これはWindows NT/2000のIIS(Internet Infomation Server)やWindows 98/MeのPWS(パーソナルWebサーバー)などを利用するときに,サーバー側のVBScriptなどを動かして動的なWebページを作るのに使われます。

●気になる記述の難しさ
 PHPのソースはHTMLソースに入れ込む形になりますが,ファイル形式はHTMLファイルの代わりに「ファイル名.php?」(?はPHPのバージョン)というファイル名でソースをそのまま,(PHPの実装された)Webの公開ディレクトリに置くことによって設置できます。
 ちなみに一番簡単なソースを挙げると,

ソース1
<?php
echo("Hello DOS/V magazine");
//文字列を出力
?>

というようになります。これをHTMLソースの中で使うと,そこの部分だけがプログラムとして実行されます。なお,この言語の特徴として@変数の型宣言は必要ない,A変数名の先頭に「$」を付ける,B文字列の結合には「.」を使う,といった基本的な規則があります。これでサンプルを作ると,

ソース2
<html><title>サンプル</title>
<h2>私は超能力者です</h2>
<?php
$a = "あなたは" ;
$b = getenv("HTTP_USER_AGENT");
//ブラウザ名を取得
$c = $a . $b . "を使ってますね。" ;
echo $c ;
?>
<h2>私にはお見通しなのです。</h2>
</html>

 といったようになります。規則が分かれば比較的直線的でとっつきやすいと思われます。
 最近では,無料のWebのレンタルWebサービスでもPHPを実装していて,ユーザーに開放しているところもありますので,気軽に始めることが可能です。
(編集部)

PHP公式サイト
http://www.php.net/
日本PHPユーザー会
http://www.php.gr.jp/



ソース2を実行したところ。これをちょっと応用すれば自分なりのアクセスログが作れるかも