pushState を使用していない場合、バックボーン ルートはサーバー ルートと簡単に区別できます。
- /ルート1
- /ルート2
- /route1#route/a
- /route1#route/b
ハッシュの前の部分は、サーバーに送信される部分 (F3 ルート) です。ハッシュの後の部分がバックボーン ルートに対応します。
//F3 routing
$f3->route('GET /route1',…)
$f3->route('GET /route2',…)
//Backbone routing
routes: {
"route/a": "routeA",
"route/b": "routeB",
}
バックボーン ルーターは、サーバーへの HTTP 要求を生成しないことに注意してください (もちろん、特に定義しない限り)。
HTTP リクエストを自動的に生成するのがバックボーン モデルです。バックボーン モデルは、 を使用してサーバー リソースにマップされますurlRoot
。メソッドfetch()
とはsave()
、destroy()
それぞれ GET、PUT、および DELETE HTTP メソッドにマップされます。
この例を確認してください:
userModel = Backbone.Model.extend({
urlRoot: '/user'
});
var user=new userModel({id:123});
user.fetch();// GET /user/123
user.save();// PUT /user/123
user.destroy();// DELETE /user/123
サーバー側では、次のように User クラスを簡単にマップできます。
$f3->map('/user/@id','User');
class User {
function get($f3,$args){…}
function put($f3,$args){…}
function delete($f3,$args){…}
}