PHPは、組み込み関数json_encodeとjson_decodeを使用してjsonを使用できます。必要に応じてCakePHPをバックエンドとして使用し続けることができます。クライアントは知っていても気にしてはいけません。
は、PHP JSONドキュメントについては、以下を参照してください。
http://us.php.net/manual/en/function.json-encode.php
JSONの使用は、クライアントとサーバの間でデータを送信するどのような形式の選択です。 JSONは、Javascriptで書かれたクライアント側で便利に起こります。 JSONを使用してiPhoneに優しいWebサイト/ Webアプリケーションを作成する必要はありません。
私の一般的なアプローチは、私のPHPデータオブジェクトにtoJSON
機能を持たせることです。 JSONをクライアントに送信するための関数があり、まずオブジェクトを送信する前にtoJSON
メソッドを探します。見つけたら、それを呼び出してその結果を送信します。これにより、オブジェクトにはすべてを送信するのではなく、最小限のデータメンバーセットを提示する機会が与えられます。これはRuby on Railsでも使用されている基本的なアプローチと同じです。
例を示します。おそらくCakePHPはこれに相当するものを持っています:
function sendJSON($data) {
header('Content-Type: application/json');
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
echo json_encode_custom($data);
//echo '(' . json_encode($data) . ')';
}
function json_encode_custom($data) {
if(is_object($data) && method_exists($data, 'toJSON'))
$data = $data->toJSON();
return json_encode($data);
}
私はJSONとPHPの使用について以下に答えました。 「Phonegapのテンプレートを作成してアプリケーションがオフラインで動作するように」については、MVCのために提供されている機能(Backbone.jsや他の何百万ものものなど)を持つフレームワークを見ることができます。これは、ページが再ロードされない限り機能します。データはメモリに格納され、できるだけAjax経由でサーバーと同期され、できない場合はエラーコールバックを登録してそのケースを処理できます。 – webjprgm