14
Sencha CakePHP mode-A

Sencha と CakePHP の連携について

Embed Size (px)

DESCRIPTION

Sencha と CakePHP をRESTで連携する方法について説明しています。

Citation preview

Page 1: Sencha と CakePHP の連携について

Sencha と CakePHPmode-A

Page 2: Sencha と CakePHP の連携について

自己紹介有限会社モード・エー

代表取締役社長 青木一之

受託システム開発

CakePHP,PostgreSQL…

Sencha 初心者です。

Page 3: Sencha と CakePHP の連携について

開発事例スカイツアーズ様 ツーリズムエキスポジャパン様 など

Page 4: Sencha と CakePHP の連携について

なんでCakePHP?

データベースにデータを残したい。

サーバーサイドでビジネスロジックを動かしたい。

restプロキシとCakePHPのREST設定の相性が良いのではないか?

Page 5: Sencha と CakePHP の連携について

Webサーバー CakePHP PostgreSQL

Page 6: Sencha と CakePHP の連携について

CRUD とREST の関係

Create -> POST

Read -> GET

Update -> PUT

Delete -> DELETE

Page 7: Sencha と CakePHP の連携について

HTTPのメソッドGET

POST

PUT

DELETE

HEAD

OPTIONS -> リソースがサポートしているメソッドの取得

TRACE

CONNECT

Page 8: Sencha と CakePHP の連携について

CakePHP2 RESTマニュアル

http://book.cakephp.org/2.0/ja/development/rest.html

データ二重登録されてしまう!

OPTIONS メソッドに反応して処理が走る。

routes.php の追加

Page 9: Sencha と CakePHP の連携について

OPTIONSメソッドの処理

ヘッダー情報のみ返す。

Page 10: Sencha と CakePHP の連携について

routes.php 追加Router::connect(  "/:controller/:id",  array("action"  =>  "view",  "[method]"  =>'GET'),  array("id"  =>  "[0-‐‑‒9]+")  );  !Router::connect(  "/:controller",  array("action"  =>  "add",  "[method]"  =>'POST')  );  !Router::connect(  "/:controller/:id",  array("action"  =>  "edit",  "[method]"  =>'PUT'),  array("id"  =>  "[0-‐‑‒9]+")  );  !Router::connect(  "/:controller/:id",  array("action"  =>  "delete",  "[method]"  =>'DELETE'),  array("id"  =>  "[0-‐‑‒9]+")  );  !Router::connect(  "/:controller/:id",  array("action"  =>  "view",  "[method]"  =>'OPTIONS'),  array("id"  =>  "[0-‐‑‒9]+")  );  

Page 11: Sencha と CakePHP の連携について

DEMO

Read ( アクセスログ )

Create ( アクセスログ、DB確認 )

Update ( アクセスログ、DB確認 )

Delete ( アクセスログ、DB確認 )

Page 12: Sencha と CakePHP の連携について

成果物

キータ

http://qiita.com/aokazu/items/bae64fe4decc2cd2c933

Page 13: Sencha と CakePHP の連携について

質問追加直後のデータを削除したり変更するとエラーになる?

解決! 川野さん、ありがとうございました。

success: function () {

store.load();

}

});

Page 14: Sencha と CakePHP の連携について

ご清聴 ありがとうございました。