Cakephpで作る
シンプルAPIサーバ
 iphoneアプリ「Petap」の例




    2012/10/12 第4回php関西
自己紹介
横田 英二(@papettoTV)

Cakephp歴4年

最近は、Titanium mobileでアプリ制作

シラフのLTは初 (参考:http://bit.ly/
web_to_kotatsu)
話す事

APIサーバって(オレオレ)

作った経緯

作り方

できたもの
APIサーバ

xmlとかjsonとか返す

RESTFUL とかよく分かってない

cakephpにAPI用機能はあるらしい(最近知り
ました
※cakephp1.3




html返すところをjson返すように変えればいいはず!
作り方
app_controller.php

view

app_controller.php
app_controller.php
(1)
var $helpers = array('Javascript');

(2)
function beforeFilter() {
   parent::beforeFilter();

    ・・・(なんだかんだ共通処理)・・・


    header("Content-Type: application/json; charset: utf-8");
    $this->layout = "default";
}
view
( 1 ) views/json_html.php

     <?php
        echo $javascript->object($data);
     ?>




( 2 ) views/layouts/default_html.php
     <?php
        echo $content_for_layout;
     ?>
app_controller.php
function _response($response=array(),$error=array()){

      $data = array();
      $data["error"] = $error;
      $data["response"] = $response;
      $data["server_time"] = $_SERVER["REQUEST_TIME"];

      $this->set("data",$data);

      $this->render("/json");
      return;
}
各controller.php

$this->set(“abc”,$abc);

→ $response[“abc”] = $abc;

$this->render() を$this->_response($response,
$error)にどんどん置き換え
PetapAPIサーバできあがり
       ペット写真を投稿

       気に入った写真には「Kawaii」



      http://petap.jp
ご清聴ありがとうございました
おまけ
実際に叩いてみる
http://api.petap.jp/photos/lists

http://api.petap.jp/users/profile_img/1

Cakephp api

Editor's Notes