今回は,最近話題の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アプリケーションの処理の違い
 AjaxとはAsynchronous JavaScript + XMLの略称であり,必要に応じてクライアント側のJavaScriptコードがサーバー側との非同期HTTP通信によりXML形式のデータを送受信する仕組みである。こうした構成自体はリモートスクリプティングと呼ばれ,従来より存在したが,JavaScript+CSSなどから構成されるDHTML (Dynamic HTML)によりインターフェイスを構成し,JavaScriptモジュールがXMLHttpRequest関数によりサーバー側のアプリケーションと非同期通信を行う仕組みが最近になってAjaxと呼ばれるようになっている。

 図1[拡大表示]にAjaxアプリケーションと従来のWebアプリケーションの処理の比較を示す。従来のWebアプリケーションでは,何らかの操作がクライアント側(Webブラウザ)で行われると,ページ全体をサーバー側で生成し,クライアント側に伝送して,再描画を行う必要があった。この構成では,ユーザーインターフェイスの応答速度は,ネットワーク伝送速度が遅かったり,サーバーの負荷が高い場合に,遅くなってしまう。

 Ajaxでは必要なデータのみを必要な時に受け渡す方式のために,ユーザーインターフェイスとネットワークやサーバーの応答との独立性を比較的高くすることができ,ユーザーインターフェイスの応答性向上やデータ伝送の効率化が期待できる。既に公開されているAjaxクライアントには,Google MapsGmailなどがある。

 では,PHPでAjaxアプリケーションを構築することを考えてみよう。

この先は会員の登録が必要です。今なら有料会員(月額プラン)は12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら