WindowsプログラマのWebアプリへの挑戦日記。あとパンとか。

Amazon Webサービスを利用するサイトをcakePHPで構築

1月 14th, 2008 Posted in cakePHP, PHP

せっかくのMVCなので、Amazon Webサービスからデータを取得する処理をModelとして実装してみました。

ModelではとりあえずfindAllのみをオーバーライドします。後で必要になれば必要な関数をオーバーライドするつもりです。Modelは以下の通り。

  1. class Aws extends AppModel {
  2.  
  3.     var $name = 'Aws';
  4.    
  5.     var $useTable = false;
  6.    
  7.     function findAll( $category, $keyword, $count ){
  8.         //データの取得処理を実装
  9.     }
  10. }

実際にAmazon Webサービスからデータを取得する処理は、「ITmedia エンタープライズ:特集:後編 WebサービスをAmazonで知る――PHPでECS 4.0を使うテクニック (1/5)」を参考にしました。

ModelでDBテーブルを使わない場合は、

  1. var $useTable = false;

と書くとDBテーブルにアクセスしないらしい。

controllerでは、対応するDB以外のModelを使う場合、

  1. class BillsController extends AppController {
  2.  
  3.     var $name = 'Bills';
  4.     var $helpers = array('Html', 'Form' );
  5.     var $uses = array( 'Bill', 'Aws' );
  6.    
  7.     //以下略
  8. }

のように使うModelを配列で宣言する。このとき対応するcontrollerに対応したDBも配列に入れることを忘れずに。

こちらもオススメ!

Trackback URL

  1. 5 Responses to “Amazon Webサービスを利用するサイトをcakePHPで構築”

  2. By showBOO on 12月 4, 2008

    モデルでWEBサービスのデータ取得をしたいと思い、検索していたらここにたどり着きました。

    大変恐縮ですが、実際に取得しているソースを公開していただくことは可能でしょうか?

    いろいろ検索したのですが、どうも情報にたどり着けなくて途方に暮れておりました。

    検討のほど、よろしくお願いいたします。

  3. By ヨスケ on 12月 4, 2008

    >showBOOさん

    公開できるようなコードではないですので、メールかなにかで提供することはできます。とは言うものの、上記のリンク先、「ITmedia エンタープライズ:特集:後編 WebサービスをAmazonで知る――PHPでECS 4.0を使うテクニック (1/5)」とほとんど同じ処理にしたような気がします。cakePHPのバージョンも古いですが大丈夫でしょうか。

  4. By showBOO on 12月 4, 2008

    ご返答ありがとうございます。

    >公開できるようなコードではないですので、メールかなにかで提供することはできます。

    それでは、記載のメールアドレスにソースをいただくことは可能でしょうか?

    お手数ですが、よろしければお願いいたします。

    身勝手な要望ですみません。

  5. By ヨスケ on 12月 5, 2008

    >showBOOさん

    了解しました。この週末で時間があるときに送付します。少々お待ちください。

  6. By showBOO on 12月 5, 2008

    ありがとうございます。

    到着致しましたら、メールでご返事をさせていただきたいと思います。

    ありがとうございます。

Post a Comment