sencha と cakephp の連携について
DESCRIPTION
Sencha と CakePHP をRESTで連携する方法について説明しています。TRANSCRIPT
![Page 1: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/1.jpg)
Sencha と CakePHPmode-A
![Page 2: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/2.jpg)
自己紹介有限会社モード・エー
代表取締役社長 青木一之
受託システム開発
CakePHP,PostgreSQL…
Sencha 初心者です。
![Page 3: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/3.jpg)
開発事例スカイツアーズ様 ツーリズムエキスポジャパン様 など
![Page 4: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/4.jpg)
なんでCakePHP?
データベースにデータを残したい。
サーバーサイドでビジネスロジックを動かしたい。
restプロキシとCakePHPのREST設定の相性が良いのではないか?
![Page 5: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/5.jpg)
Webサーバー CakePHP PostgreSQL
![Page 6: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/6.jpg)
CRUD とREST の関係
Create -> POST
Read -> GET
Update -> PUT
Delete -> DELETE
![Page 7: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/7.jpg)
HTTPのメソッドGET
POST
PUT
DELETE
HEAD
OPTIONS -> リソースがサポートしているメソッドの取得
TRACE
CONNECT
![Page 8: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/8.jpg)
CakePHP2 RESTマニュアル
http://book.cakephp.org/2.0/ja/development/rest.html
データ二重登録されてしまう!
OPTIONS メソッドに反応して処理が走る。
routes.php の追加
![Page 9: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/9.jpg)
OPTIONSメソッドの処理
ヘッダー情報のみ返す。
![Page 10: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/10.jpg)
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 の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/11.jpg)
DEMO
Read ( アクセスログ )
Create ( アクセスログ、DB確認 )
Update ( アクセスログ、DB確認 )
Delete ( アクセスログ、DB確認 )
![Page 12: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/12.jpg)
成果物
キータ
http://qiita.com/aokazu/items/bae64fe4decc2cd2c933
![Page 13: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/13.jpg)
質問追加直後のデータを削除したり変更するとエラーになる?
解決! 川野さん、ありがとうございました。
success: function () {
store.load();
}
});
![Page 14: Sencha と CakePHP の連携について](https://reader030.vdocuments.pub/reader030/viewer/2022013118/559b34ad1a28ab39638b46f1/html5/thumbnails/14.jpg)
ご清聴 ありがとうございました。