今回は,最近話題のAjaxアプリケーションをPHPで構築する。Ajaxは,JavaScriptによってWebブラウザ上でJavaアプレットやFlashのようなスマート・クライアント(リッチ・クライアント)Webアプリケーションを構築する技法だ。PHPのAjaxツールキットがいくつも公開されており,これを利用しPHPで簡単なAjaxアプリケーションを作成する。
Ajaxの話題に入る前に,PHPのリリース関連情報について紹介する。
PHPの開発状況
3月末にPHP5およびPHP4の最新版としてそれぞれPHP 5.0.4およびPHP 4.3.11がリリースされてから,新たなリリースは行われていない。この間も引き続き,バグ修正などの作業が行われいる。PHP 5.0.4リリース以降,本稿執筆時点までに,PHP 5.0.x系に関しては約75件のバグ修正と若干の機能追加が行われている。
修正点の詳細については,http://cvs.php.net/co.php/php-src/NEWS?r=1.1760.2.393を参照していただきたい。
また,旧版にあたるPHP 4系についてもバグ修正の作業が続けられており,本稿執筆時点で約30件のバグ修正が新たに行われている。PHP 4系の修正点の詳細については,http://cvs.php.net/co.php/php-src/NEWS?r=1.1247.2.909を参照していただきたい。
現在の開発版にあたるPHP 5.1系のベータ1版のリリースが4月に予定されていたが,新しく追加されるエクステンションPDOなどの問題により延期されている模様である。
PHPでAjaxクライアント
図1●Ajaxアプリケーションと従来のWebアプリケーションの処理の違い |
図1[拡大表示]にAjaxアプリケーションと従来のWebアプリケーションの処理の比較を示す。従来のWebアプリケーションでは,何らかの操作がクライアント側(Webブラウザ)で行われると,ページ全体をサーバー側で生成し,クライアント側に伝送して,再描画を行う必要があった。この構成では,ユーザーインターフェイスの応答速度は,ネットワーク伝送速度が遅かったり,サーバーの負荷が高い場合に,遅くなってしまう。
Ajaxでは必要なデータのみを必要な時に受け渡す方式のために,ユーザーインターフェイスとネットワークやサーバーの応答との独立性を比較的高くすることができ,ユーザーインターフェイスの応答性向上やデータ伝送の効率化が期待できる。既に公開されているAjaxクライアントには,Google MapsやGmailなどがある。
では,PHPでAjaxアプリケーションを構築することを考えてみよう。