php - 内容管理系统 : store custom pages as files or in MySQL database?

标签 php content-management-system

我正在用 PHP 创建自定义 CMS(从头开始编写),想知道我应该将用户创建的页面存储为文件还是存储在 MySQL 数据库中。

内容全是 HTML 代码,至少现在是这样。

我无法决定要做什么,因为使用 php 编写文件似乎存在安全风险,并且在每次加载页面时从 MySQL 检索文件内容感觉不对(并且可能是性能问题?)。

我也有自己为博客等编写的自定义页面。这些页面包含 PHP 代码,但不需要由用户修改。目前我计划将它们存储为 php 文件,这样更容易上传和编辑它们,但它们也可以存储在 MySQL 中。

如果您能就正确的做法或至少您会做什么提供任何帮助,我将不胜感激。

最佳答案

最好将内容存储在数据库中。请注意,您存储的是内容,而不是整个 HTML 页面(否则,您实际上并不是在构建内容管理系统)。

如果你使用普通文件实现它,那么你必须发明一种文件格式来存储你的结构化数据,你必须弄清楚如何让它更快,担心数据完整性和竞争条件,等等.有了数据库,您就可以为您完成所有这一切,而且做得又好又快。

在每个页面 View 上进行数据库查询是很正常的;事实上,对于 Web 应用程序来说,每次页面 View 执行超过 5 次和最多 30 次数据库查询是很典型的,我猜想 stackoverflow.com 可能适合这个范围。

MySQL 足够快。

关于php - 内容管理系统 : store custom pages as files or in MySQL database?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3384465/

相关文章:

django - 有什么比 Django 的平面页面更好的吗?

asp.net-mvc-3 - Orchard cms - 用户在另一个数据库中的自定义登录模块

css - 在 magento 管理面板中添加新字体

php - Sql Server 2008 和 PHP - sqlsvr_escape_string?

php - EntityManager 已关闭 : do i have to check all before?

javascript - 如何获得文字中的金额?

php - 如何在 cms 中使用 php 和 mysql 中的无限子菜单制作动态菜单部分?

php - 连接 4 个表和 foreach 循环的 SQL 语句

javascript - 用 html/javascript 编写的模板中的动态表

php - 有什么方法可以通过 Web 实现持久的(无论多小)客户端存储?