ECSアクセスクラスを、ecs.phpというファイル名で保存したら、次はアプリケーション本体です。ここではview.phpというスクリプトを作成します。
view.phpには、具体的なアプリケーションの内容を記述します。今回は、ECSをキーワード検索し、検索結果を表示するアプリケーションを作成してみます。アプリケーションからのECSアクセスクラスの利用手順は以下のようになります。
1. ECSアクセスクラスをインスタンス化する
$ecs = new Ecs();
2. キーワード検索のパラメーターをセット
$ecs->set_keyword($keyword,$index,$page);
3. ECS 4.0への問い合わせを実行
$ecs->loadXML();
4. 商品情報を表示する
print $ecs->xml->Items->Item->ItemAttributes->Title;
最後の「商品情報を表示」の際に、SimpleXMLモジュールを利用するメリットが発揮されます。ほとんどXMLであることを意識せず、オブジェクト内の変数を参照するような形で、Amazonから取得した商品情報を表示することができます。
以下は、アプリケーションスクリプトのサンプルコードです。このview.phpでは、検索窓を表示して、そこから入力されたキーワードを、ECSアクセスクラス(ecs.php)のインスタンスに渡し、検索結果のXMLをforeach()ですべて表示しています。
<?php include_once ("ecs.php"); // 検索に必要なパラメータを取得、設定 $keyword = !empty($_GET['keyword']) ? $_GET['keyword'] : "ブログ"; $index = "Blended"; $page = "1"; // ECS 4.0に接続するためのクラスをインスタンス化 $ecs = new Ecs(); // キーワード検索のパラメーターをセット $result = $ecs->set_keyword(urlencode($keyword),$index,$page); // ECS 4.0への問い合わせを実行 $result = $ecs->loadXML(); // ページのHTMLを出力 @header('Content-Type: text/html; charset=UTF-8'); @header('Content-Language: ja'); echo <<<EOT <html><head> <title>PHPでECS 4.0!</title> </head><body> ECS 4.0を検索<br /> <form method="GET" action="./view.php"> <input type="text" name="keyword" value="$keyword"> <input type="submit" value="検索"> </form><br /> 検索結果<br /><hr /> EOT; // ECSの検索が成功したら、内容を表示 if ($result) { // Itemの数だけ、商品を表示 foreach ($ecs->xml->Items->Item as $item) { print '<a href="' . $item->DetailPageURL . '">'; print $item->ItemAttributes->Title . "</a><br />"; print $item->ItemAttributes->Creator[0] . "<br />"; print "売り上げランキング " . $item->SalesRank . "<br />"; print $item->OfferSummary->LowestNewPrice->FormattedPrice . "<br />"; if ($item->MediumImage->URL != "") { print '<img src="' . $item->MediumImage->URL . '" border="0">'; } print "<br /><br />"; } } else { print "Error : ECSへの接続に失敗しました"; } echo <<<EOT </body></html> EOT; ?>
このように、ECS 4.0への接続をECSアクセスクラスに集約することで、さまざまな機能のPHPスクリプトから利用することができます。
そして、さらなるアイデアとして次のようなものが挙げられます。
Copyright © ITmedia, Inc. All Rights Reserved.