php - Backbone.js 如何与 PHP 一起使用

标签 php javascript backbone.js

我一直在研究 backbone.js,我似乎无法弄清楚如何让它与 php 通信以保存模型数据。它发送一个请求,但我如何捕获该请求,无论它是“创建”、“更新”、“读取”、“删除”等。

谢谢

最佳答案

您可能会考虑的另一个选择是使用预打包的 RESTful 框架,该框架内置了执行 Backbone 服务器查询所需的所有必要功能。我个人最喜欢的是Josh Lockhart's SlimPHP Framework .

用于进行 Backbone 调用的一些简单示例代码(一旦您安装了 SlimPHP)如下所示。

$app->get('/user', function() use ($app) {

    // See if session is set, get user info as array
    if (isset($_SESSION['userID']) {
         $user = // grab user with userID data from DB
    }

    // Respond to the get request with a json object
    $response = $app->response;
    $response['Content-Type'] = 'application/json';
    $response->body(json_encode($user));
}

这是一个将 Backbone json 转换为数组的 POST 示例。

// Middleware that detects type of data and converts it to something usable
$app->add('Slim_Middleware_ContentTypes');    // JSON to associative array

...

$app->post('/message', function() use ($app) {
    $dataIn = $app->request()->getBody();

    ...

    // Save to DB $dataIn['message'], $dataIn['author'], etc.
}

这是一个使用一些参数的 PUT 示例。

$app->put('/user/:id', function($id) use ($app) {

    // Find appropriate user from DB that has $id as ID

    $dataIn = $app->request()->getBody();

    // Save to DB $dataIn['name'], $dataIn['age'], etc.
}

这里是删除。

$app->delete('/message/:id', function($id) use ($app) {

    // Find appropriate message from DB that has $id as ID

    // Delete message with id of $id
}

虽然这不是所有其他要考虑的事项的详尽示例,但它应该让您了解已经有哪些开放式解决方案可供您使用。我个人喜欢 Slim,因为它非常轻量、简单,但它具有您在 RESTful 服务器中想要的所有功能。非常适合原型(prototype)制作。将它与数据库抽象层和其他一些工具结合起来,您可以更快地制作任何您想要的东西。

您可以在此处查看其他一些示例代码:

  1. How to post Backbone model to server
  2. Ways to save Backbone data

这里是其他一些基于 PHP 的 RESTful 解决方案的链接:Framework List

关于php - Backbone.js 如何与 PHP 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6207286/

相关文章:

php - 创建一个 zip 文件并下载

javascript - 在functions.php中执行document.ready

php - 如何同时执行这两个查询?

javascript - 我将如何遍历一个对象以删除所有大于 100 的数字?

javascript - Marionette 收集事件未触发

javascript - Backbone : Create collection from JSON

c# - 是否有与 PHP 函数 `parse_str` 等效的 C# ?

javascript - 回调中的 Node.js 发射器空数据

javascript - 无法在 Protractor 中使用 --suites 选项,出现 'Spec patterns did not match any files' 错误

javascript - 主干路由器