[CakePHP] JSONを使う事前準備と、モデルのデータをJSONに変更する処理

CakePHPでAjaxを使う時、JSONを使ってjQueryとデータをやり取りすることが多くなると思います。
CakePHPに簡単にJSONの出力ができる仕組みが搭載されていますので、これからその設定方法について説明します。

routes.php AppController.phpへ追記

JSONを使うには2つのファイルへの追記が必要になっています。

routes.php

app > Config > routes.phpを開き、以下のコードを追記します。

Router::parseExtensions(‘json’);

これで JSON と XML が使えるようになります。

AppController.php

app > Controller > AppController.phpを開き、以下のコードを追記します。

public $components = array(‘RequestHandler’);

サイト全体で使う場合は AppController.php に記載し、個別のコントローラーで使う場合は利用するコントローラーに記載するようにします。

コントローラーでJSONを出力

$this->set(‘_serialize’, array(‘posts’)); がPHPの配列のデータをJSONに変換している処理です。

$this->viewClass = ‘Json’; を記載すると、通常使われるビューは使わずに真っ白い画面にJSONのデータだけが出力されるようになります。



Author: webmaster