最近「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"); //文字列を出力 ?> |
ソース2 <html><title>サンプル</title> <h2>私は超能力者です</h2> <?php $a = "あなたは" ; $b = getenv("HTTP_USER_AGENT"); //ブラウザ名を取得 $c = $a . $b . "を使ってますね。" ; echo $c ; ?> <h2>私にはお見通しなのです。</h2> </html> |
PHP公式サイト
http://www.php.net/
日本PHPユーザー会
http://www.php.gr.jp/
ソース2を実行したところ。これをちょっと応用すれば自分なりのアクセスログが作れるかも