将我的 knockoutjs 模型与我的后端同步 (PHP)

发布于 2024-12-18 05:08:03 字数 432 浏览 0 评论 0原文

有人实施过类似的事情吗?

我遇到的问题是我们没有使用 REST。当前计划如下:

创建一个名为 sync($modelName, $action) 的控制器,并向其抛出所有请求。 创建一个名为“syncable”的接口并强制模型实现它。

工作原理:

GET http://localhost/sync?modelName=User&action=update&first_name=Peeter

这将查找名为 UserModel 的模型,该模型实现了可同步接口。如果找到,则将其参数和 update(); 更新到 db.

可同步接口用于启用每条记录的操作。例如“只有记录所有者可以更新此记录”或“只有管理员可以删除此记录”。

Has anyone implemented something similar?

The problem I have is the fact that we're not using REST. The current plan is the following:

Create a controller called sync($modelName, $action) and throw all requests at that.
Create an interface called "syncable" and force models to implement it.

How it works:

GET http://localhost/sync?modelName=User&action=update&first_name=Peeter

This will look for a model named UserModel that implements the syncable interface. If found, update its parameters and update(); to db.

The syncable interface is to enable per-record actions. E.g. "Only record owner can update this record" or "Only admin can delete this record".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

抚笙 2024-12-25 05:08:03

我在 symfony 1.4 中编写了一个功能齐全的 REST API 框架。它支持 JSON 和 JSONP。我已经将其开源,欢迎您使用。我们在生产中使用它,流量很大,所以它非常稳定,并且我们从消费者那里得到了很好的反馈。编写 API 方法非常灵活且非常快。我们还有一个文档页面,允许您进行测试查询。这是我见过的最好的 API 文档之一。

https://github.com/homer6/blank_altumo

请参阅此(如下)了解 API 控制器的示例。该控制器仅显示 GET,但完全实现了 PUT、POST 和 DELETE。

https:// /github.com/homer6/blank_altumo/blob/master/htdocs/project/apps/api/modules/system_event/actions/actions.class.php

如果如果您需要帮助来实现它,我愿意花几分钟来解释它的设计或让它为您工作。

希望有帮助...

I wrote a fully function REST API framework into symfony 1.4. It supports JSON and JSONP. I've open sourced it, so you're welcome to use it. We're using it in production with a lot of traffic, so it's pretty stable and we've had great feedback from the consumers. It's really flexible and very fast to write API methods. We also have a documentation page that allows you to make test queries. It's one of the best API docs I've seen.

https://github.com/homer6/blank_altumo

See this (below) for an example of an API controller. This contoller only shows GET, but PUT, POST and DELETE are fully implemented.

https://github.com/homer6/blank_altumo/blob/master/htdocs/project/apps/api/modules/system_event/actions/actions.class.php

If you need help getting it going, I'm willing to spend a few minutes to explain its design or get it working for you.

Hope that helps...

_失温 2024-12-25 05:08:03

我正在开发的应用程序也遇到了同样的问题,因此我实现了一个 ChangeTracker 来订阅我的可观察属性,并跟踪所做的任何更改。然后,在以后的任何时候,我都可以调用类似的方法:

viewModel.changeTracker.commit();

它负责将我的更改对象调整为服务器可以理解的格式,并将其发送出去进行处理。

这是一个演示这个想法的小小提琴。 http://jsfiddle.net/ggoforth/pCX8c/2/

注意:我已经一连几天我一直工作到凌晨 3 点,所以可能有更好的方法来做到这一点,我只是筋疲力尽才意识到这一点:)

I had the same issue with an app I'm working on, so I implemented a ChangeTracker that subscribes to my observable properties, and tracks any changes made. Then, at any later point, I can call something like:

viewModel.changeTracker.commit();

which is responsible for massaging my change objects into a format that the server understands, and ships it off for processing.

Here is a little fiddle demonstrating the idea. http://jsfiddle.net/ggoforth/pCX8c/2/

Note: I've had a string of days where I've been working till 3am so there may be a better way of doing this, and I'm just to exhausted to realize it :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文