【问题标题】:Sync backbone.js to php/MySQL将backbone.js 同步到php/MySQL
【发布时间】:2011-07-28 04:54:11
【问题描述】:

在设计我的应用程序时,我使用backbone.js 组织了我的UI,每个模型代表MySQL DB 中的一个数据条目。我了解如何接收用户输入并相应地修改模型。但是,您如何将其同步回使用 REST 实现 CRUD(创建、读取、更新删除)的数据库?

我见过使用 Rails 3 完成的实现。但是,我只知道 javascript、jQuery、php、backbone.js。我想知道最快的方法来做到这一点,而无需为这项任务学习一门通晓的语言 Ruby。

【问题讨论】:

标签: javascript mysql rest backbone.js crud


【解决方案1】:

我要认真强调的第一件事是,Backbone.js 绝对没有硬连线到任何特定的服务器端架构,即 rails。 许多(大多数?)Backbone.js 爱好者也是 Rails 爱好者,因为 Backbone.js 的设计与 Rails 社区非常热衷的宁静模式相协调。

但如果你不想使用 Rails,你仍然可以完全利用 Backbone.js 的全部优势

首先,决定是否要实现一个安静的接口。在 php 中这样做非常容易。如果您使用的是 zend 框架,那么您将拥有出色的 Zend_Rest 组件来帮助您创建强大的 restful api。或者,您可能想研究比较新的框架,例如 Recess 和 Fuel,它们内置了对轻松创建 restful api 的支持。

您当然可以通过 vanilla php 编写自己的 restful api。

请注意,遵循一些约定将使 Backbone 集成非常方便。 例如。骨干希望记录有一个 id 字段,骨干也希望在提交记录时服务器将返回一个带有更新字段的 json 序列化更新记录,该记录将用于更新客户端模型。处理一些这样的小事情将使您能够创建您的应用程序而不会覆盖大部分主干的类。

现在,如果您的 rest api 接口与 rails 实现完全不同,或者您根本没有实现 rest api,您将不得不重新编程 Backbone.Model.sync 函数以满足您的要求。

【讨论】:

  • 在旁注中,如果您的实现非常以 crud 为中心,那么在客户端和服务器中都有 mvc 实现可能是多余的。在这种情况下,您可能希望在前端有一个适当的 MVC 架构,而在后端只有模型层。有关此类实现,请参阅以下内容:redbeanphp.com/#/BeanCan_Server。请注意,要使用启用 json rpc 的后端,您必须覆盖 Backbone.Model.sync。
  • 我对 php 上的 REST 并不完全熟悉。据我所知,这就像在 URL 中包含要传输的值,或者只是 $_POST....还有更多我完全错过的内容吗?
  • @William REST 还有更多内容。 REST 哲学要求您使用 HTTP 动词(您使用什么方法发送请求 GET、PUT、POST、DELETE)来表示要对资源执行的操作。这首先需要您根据资源来组织应用程序(这通常对应于数据库中的表,尽管它们实际上可以表示任何东西)然后您提供 CRUD 处理程序,这些处理程序根据您用于访问资源的方法采取适当的操作。您通过 GET 获取,通过 PUT 更新,通过 POST 创建并通过 DELETE 删除资源
  • 希望能让事情更清楚。然而,上面是一个非常粗略的介绍。您可以参考以下内容:infoq.com/articles/rest-introduction 以获得正确的介绍。网络上还有很多其他资源可供使用
猜你喜欢
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多