php - 主干和 PHP 模型代码重复

标签 php architecture backbone.js singlepage

因此,我决定采用我一直在从事的项目和项目管理系统,并将其从标准的多页应用程序转换为单页应用程序。在此过程中,我查看了许多 javascript MV*ish 框架(ember、knout、backbone 等),并决定使用backbone.js,因为它似乎是最灵活的解决方案,而且我已经使用了 underscore。它的实用程序和模板系统都使用 Node.js。

这样做我最担心的一个问题是,我的 PHP 模型和主干模型中的模型和业务/域逻辑可能会出现潜在的代码重复。

这只是我在使用这样的架构时所支付的技术成本,或者我可以采取一些措施来减轻这种担忧?

最佳答案

您可能想看一下我之前回答的涉及 Node.js 的问题:

Reusing backbone views/routes on the server when using Backbone.js pushstate for seo/bookmarking

我现在正在做的是使用 Davis.js + Mustache + Java Spring MVC 支持(基于我原来的问题:Single page Web App in Java framework or examples?)。

如果浏览器不支持 Pushstate,那么我让服务器使用 Java 版本的 Mustache(即标准 Web 1.0)来完成整个页面的渲染。如果浏览器确实支持 Pushstate,那么浏览器将发出 AJAX 请求以获取模型的 JSON 版本。然后将模型呈现给客户端使用 icanhz (即 JavaScript mustache )。

如果您的大部分逻辑是获取模型然后根据特定 URL 渲染它,那么这种方法效果相当好。也就是说,您的业务逻辑是“基于我要渲染的某个 URL”。这就是网络上大多数网站的工作方式(包括这个仍然是 web 1.0 的网站)。显然,这不适用于实时聊天或 HTML5 游戏等内容。

这里提到了这种设计的Python版本:http://duganchen.ca/single-page-web-app-architecture-done-right/

我确信有人已经做了 PHP 版本。

关于php - 主干和 PHP 模型代码重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10189359/

相关文章:

php - MySql分页; "Showing result-set"帮助的 "total found"

PHP json_encode

java - 抛出异常以在 API 中向用户传播响应消息是最佳实践吗?

php - 管理多个 HTML 片段的命名空间

javascript - Backbone 模型应该是 View 模型、领域模型还是两者兼而有之?

javascript - 如果集合中已存在则 Backbone 更新模型

javascript - Backbone.js:模型继承导致共享数据

php - 在套件中的每个测试之前运行设置代码

database - 结合使用 couchDB 和 RDBMS 的应用程序

PHP 错误 T_object_operator