
          
          連載:AjaxとPHPでリッチクライアント(1)
        Ajaxを使ったamazon検索をPHPで作ろう
上鍵 忠志
日本PHPユーザ会
2005/10/4
| Ajaxは今年非常にホットな話題の技術である。 | 
|  | 注目のAjax | 
この辺りの詳しい内容はAjax推進委員会による「古くて新しいAjaxの真実を見極める」を参考にするといいだろう。
| PHPとAjaxの関係 | 
PHPはサーバサイド技術、前述のとおりAjaxで用いられるJavaScriptはクライアントサイド技術である。通常の処理ではJavaScriptに処理が推移するとサーバ側では次のページに推移するまで何もできなかった。
例外的に「0ピクセルフレーム」と呼ばれる、いわば「見えないフレーム」を用いて隠しフレームを使ってサーバ間通信をし、実際に使用するフレームの表示に反映するという「なんちゃってサーバ/クライアント間同期」などの手法も古くからあったが、フレーム故の問題(URLの問題など)も少なくなかった。
|  | 
| 図1 0ピクセルフレームの概要 | 
AjaxはXMLHttpRequestというものを用いてサーバと非同期通信を行う。そのため、無駄なフレームも必要なくリロードレスなコンテンツを作成することができる。
ただしAjaxに問題点がないわけではない。Ajaxの問題は以下のような点が挙げられるだろう。
| ・XMLHttpRequestはブラウザ依存である(Internet ExplorerとMozillaしか対応していない場合が多い) ・DHTMLを使わなければ画面内容を変更できないので若干テクニカル ・XMLでのデータ渡しになるので処理が比較的重い | 
しかし上記の問題はXMLHttpRequestやDHTML描画をラッピングするライブラリやフレームワーク、などの登場で徐々に解決しつつある問題でもある。
| Ajaxを使ったウェブアプリケーションの例 | 
Ajaxを使用したウェブアプリケーションはすでにいくつかあり、@ITでも紹介されているが、もう1度、下記に挙げておこう。
| ●gmail おそらくAjaxのはしりになるウェブアプリケーションで、Googleが開発したものだ。いままではクリックするたびに画面の切り替えがあったウェブメールがほぼそのままの状態でどんどん内容が切り替わっていく斬新なものだった。 | 
| ●Google マップ これもAjaxの可能性を示したウェブアプリケーションの1つであろう。gmailと同じくGoogleが開発したものだ。 | 
| ●フォト蔵 いわゆる誤解を恐れずにいうと「日本のFlickr」である。このウェブアプリケーションでは通常画像のアップロードにはファイル選択を行うが、ファイル選択をするだけでプレビューが表示されるようになっている。この技術にはAjaxも併用されている。 | 
| ●ajax ssh http://ajaxssh.bz2.jp/ 若干強引だがAjaxを用いてssh環境を構築する。HTTPは通常1リクエストごとに処理を終了するが、sshはsshとしてセッションを切断するまで永続的に接続しているため、その問題解決などにテクニックが使われている。 | 
| Ajaxを用いたアプリケーションの可能性 | 
| ●グループウェア | 
| ●ウェブメール | 
| ●ウェブチャット・掲示板 | 
| ●ゲーム | 
そのほかアイデア次第でいろいろ使い道はあるだろう。
| Ajaxを扱うためのPHPライブラリたち | 
現在、インターネット上で公開されているPHPで用いることができるAjaxライブラリを紹介したい。筆者自身、このライブラリの便利さには驚かされたので、まだ触っていなかったという場合、この機会に確認されてはいかがだろうか。
| ●SAJAX http://www.modernmethod.com/sajax/ | 
| ●AjaxAC http://ajax.zervaas.com.au/ | 
| ●PEAR::HTML_Ajax http://pear.php.net/package/HTML_AJAX/ | 
| ●php-jsons http://www.aurore.net/projects/php-json/ | 
| ●NAJAX http://najax.sourceforge.net/dev/ | 
| ●Echo2 http://www.nextapp.com/products/echo2/ | 
| 1/3 |  | 
| INDEX | ||
| Ajaxを使ったamazon検索をPHPで作ろう | ||
|  | Page1<AjaxとPHPの関係> PHPとAjaxの関係/Ajaxを使ったウェブアプリケーションの例/Ajaxを用いたアプリケーションの可能性/Ajaxを扱うためのPHPライブラリたち | |
| Page2<AjaxACを使う> サンプルを使用し、改造してみる/CountryRegionCityJax/GoogleSuggestCloneJax | ||
| Page3<Amazon商品検索フォームにGoogleSuggestCloneJaxを改造する> AmazonSuggestCloneJax | ||
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
 資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する
- GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
 HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】
- PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
 素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】
- Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
 Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|  | |
| 
 | |
|  | 

 







