[CakePHP1.2]モデルもビューも使わずJSON返すだけのコントローラ例
class ApiController extends AppController
{
var $uses = null; // モデル(DB)使わない
var $components = array('RequestHandler');
// 応答 Content-Type をJSONに(beforeFilterに書かないと動かない)
function beforeFilter()
{
parent::beforeFilter();
$this->RequestHandler->setContent('json');
$this->RequestHandler->respondAs('application/json; charset=UTF-8');
}
function index()
{
$data = array('xxx');
$json = json_encode($data);
return $this->output($json);
}
private function output($resp)
{
$this->autoRender = false; // View使わない
Configure::write('debug', 0); // 応答からデバッグ文字列を排除
return $resp;
}
}