Step22でダウンロードして、レンタルサーバーに設置したsample005のことです。
このsample005のプログラムは、
以下の2つの無料講座を行なうと、最終的に出来上がるものです。
Ajax初心者入門講座
楽天ウェブサービス初心者入門講座
プログラムの詳しい説明は、上記の講座に書いています。
そこで、今回はザックリと簡単に説明します。
もし理解が難しいようなら、今進めているステップを一時中断してでも、
上記の講座を行なったほうが、結局は近道になります。
でも結構ボリュームがある講座内容なので、
これからする説明で理解できれば、行なわなくてもかまいません。
またサンプルプログラムのファイルは、
全てTeraPadのようなテキストエディタで、開いて中を見ることができます。
■libフォルダ
・prototype.js
これはAjaxライブラリの一種です。
JavaScriptのプログラムを拡張したり、やさしく書く手助けをしてくれます。
Ajaxライブラリは、他にも沢山種類があります。
検索エンジンで検索すると、いろいろ見つかりますよ。
他にはjQueryなども有名です。
prototype.jsは、インターネットからダウンロードできます。
http://www.prototypejs.org
prototype.jsのファイルを開くと、いろいろ書かれていますが、
今は中身を理解する必要はありません。
使い方だけわかれば大丈夫です。
このような便利なライブラリは、自作して使うこともできます。
・ItemSearch.php
これは中継プログラムです。
テキストエディタで開くと、PHP言語でプログラムが書いています。
なぜ中継プログラムが必要かというと、
JavaScriptのプログラムでは、プログラムと同一ドメインのXMLしか扱えないからです。
これはセキュリティの関係です。
したがって、これまでは楽天のサーバーのURLでXMLを取得してきましたが、
あなた用のURLに変更する必要があるわけです。
http://api.rakuten.co.jp/rws/3.0/rest?
↓
http://あなたのドメイン名/lib/ItemSearch.php?
となります。
それでは、ItemSearch.phpのプログラムについて解説します。
extract($_GET);
これはリクエストURLで指定したパラメーターを、変数として処理します。
つまり、PHPの変数に値が入るわけです。
次に$urlという変数を用意し、
リクエストURLを組み立てて、どんどんつなげていきます。
固定のフィールドには、
それほど変わらない値を、あらかじめ入れておきます。
そうすることで、リクエストURLを簡単に短縮して書くことができます。
変化するフィールドには、
使用するフィールドを書きます。
使えるフィールドは、
keyword、hits、page、sort、imageFlag
です。
これ以外のフィールドを使いたい場合は、プログラムに加える必要があります。
それが今までとの大きな違いです。
header("Content-type: application/xml");
readfile($url);
この部分は説明が難しいですが、簡単に言うと、
この2行で、リクエストURLを送信し、XMLとして表示しています。
以上でプログラムと同一ドメインのXMLになります。