【问题标题】:What is the best way to store a dynamic webpage as an object?将动态网页存储为对象的最佳方法是什么?
【发布时间】:2013-09-12 14:50:06
【问题描述】:

我有一个带有 MySQL 数据库的 php 应用程序。

我想创建一个网站构建器。这个想法是使用 ajax 来加载和存储动态页面内容。用户将能够在查看前端时修改站点(创建和编辑页面、导航菜单等)。更改将实时呈现,然后在保存后提交。

我不确定处理和存储动态页面内容的最佳方法是什么。

我应该只更改 DOM,然后以某种方式保存其当前状态吗?或者,使用对象来存储页面的内容和结构会更好吗?将页面存储在 SQL 或文件中会更好吗?

编辑 所以,我决定的是,如果它可以帮助任何人(感谢所有回复的人!):

我创建了 jQuery 函数,允许用户通过单击页面上的元素来操作 DOM,然后将内容添加到新元素(例如,我有一个文本和图像插入工具)。我正在使用处理程序对象来跟踪更改,然后在用户单击更新按钮后将其应用于 DOM。

用户保存页面后,我使用 ajax 将 DOM 的一部分保存到 MySQL 数据库。

然后我创建了一个页面构建器函数,它调用我的自定义主题的标题,从数据库中提取 html,然后调用主题的页脚。

到目前为止,这工作得很好。页面构建器通过使用 url 的 ?page=x 引用来构建页面。这仍然允许我的核心应用程序和主题系统控制每个页面的页眉和页脚,同时仍然允许使用 ajax 轻松编辑、保存和检索内容。

【问题讨论】:

  • 看看nuggetz是如何做到的。这非常简单易懂。但这只是“给猫剥皮”的一种方式
  • 谢谢。我一定会看掘金的。似乎与我想要完成的非常相似。
  • 我对它的可用性和功能印象深刻的一些客户对其进行了修改并在生产中使用它。如此简单却又如此优雅。它位于BSD license 下,因此请查看源代码并根据需要进行修改。
  • 如果您不关心添加版本控制,那么只需将整个页面(通过 ajax 调用)发送到将其保存为 html 的服务器端脚本。不需要简单网站的数据库。
  • 谢谢,@Archer。通常这些网站只有十几页,但如果我们需要数千页呢?那时存储在数据库中而不是 html 文件中是否有任何好处?

标签: javascript php jquery html mysql


【解决方案1】:

根据我对 Magento 和您的动态事物的经验,我认为将动态内容保存在数据库中会更好,但要保存以下内容:

“首页” “3列” “输入文本” ...

当您取回它时,您可以使用保存在数据库中的“路线”来构建您的动态网站。

【讨论】:

  • 谢谢!您的建议无疑帮助我缩小了将内容存储在数据库中的最终决定。我创建了一个 page-builder.php 函数,它基本上充当“方向”。
【解决方案2】:

我会说这是一个架构问题。存储在数据库中将为您提供更好的检索和存储长数据流的性能,并且可能会在此过程中提供更好的数据组织。

问题是 - 如何有效地将网站存储到数据库中?-

有伙伴说之前给猫剥皮的方法有很多种。你想去多复杂?你要存储单页吗?图片?表?完整的网站?您的用户是否也能够存储原始/其他数据?

你看到了吗?

希望对你有帮助。

【讨论】:

  • 优秀的问题,我已经考虑过了。最初我想存储页面可能包含的所有内容,但现在我相信我将创建一种编辑预定区域的方法。我会 +1 你的答案,但没有代表,所以这里是 谢谢你
猜你喜欢
  • 2011-01-24
  • 1970-01-01
  • 2011-10-09
  • 2020-11-23
  • 2011-09-05
  • 2022-08-23
  • 2014-06-29
  • 2023-03-20
  • 1970-01-01
相关资源
最近更新 更多