マッシュアップページを作ってみる その5


前回やった、Google,Yahoo!,Live Searchの同時検索をAjaxを使って実装しなおしてみました。
今回は特にUIに凝る気もないので、PHPで簡単にAjaxを書ける、xajaxを使ってみました。
xajaxを使うにあたって、以下のサイトを参考にしています。

その他、ググるといろいろ出てきます。

まず、検索クラスのベースクラス(WebSearch.php)に多少の変更を加えてます。キャッシュのディレクトリをコンストラクタで渡すようにしたりといった対応です。

前回の、3search.class.phpに相当するものが以下のコード。xajaxで使用するにあたってHTMLの生成部分をstatic化したりといった対応をしています。

実際に、xajaxを使ったコードです。一応、MVCっぽい耕造になっています。xajaxに含まれているサンプルと同じ名前の付け方になってますが、 コントローラーに相当するのが、xxxx.common.phpです。

search.common.php

ビジネスロジック部分に相当する部分です。サンプルでいうところの、xxxx.server.phpになります。

search.server.php

そして、ビュー部分です。これが実際に、ブラウザから直接アクセスするファイルになります。

search.php

ソースを見てもらえばわかるとおり、JavaScriptでの実装部分がかなり少なくて済みます。このくらいのレベルなら、簡単にAjaxの実装が出来てしまいます。
なお、xajaxは、ソースをみてもらうとわかりますが、二つ上のディレクトリ階層に置いているという想定です。
ソース一式は以下から取得できます。今回も予告なく、消したり内容を改変する可能性があります。

[3search_xajax.zip]

実際に動作は以下で確認できます。

http://labs.s-koichi.info/mashup/3search/search.php

で、作ってみて思ったが、それほどAjaxを使った効果が出てないかなぁという印象がある。最初の10件はそこそこ早くはでるんだけれど、それでもうちの環境でも1~2秒はかかります。
次回は、URLを入力して、それぞれの検索エンジンで何位になってるのかを表示させるところまでを実装しようと思っています。

人気ブログランキング ←押すと一票入ります。

ツイートツイート

,

  1. コメントはありません
(公開されません)

  1. トラックバックがありません。