【问题标题】:Best Practice/Way to use PHP and JSON Flat File最佳实践/使用 PHP 和 JSON 平面文件的方法
【发布时间】:2016-10-08 22:29:48
【问题描述】:

我正在使用 PHP(Symfony2 框架)创建一个 Web 应用程序,我想存储一些用户创建的数据,但我不想使用数据库。我认为最好的方法是 JSON 对象。请查看我在下面的描述,并就这是好方法还是坏方法提供反馈,或者甚至可能。

  • 前端:用户自定义页面,添加内容等(文本、数字等)。在对页面进行任何更改后,前端 JS save 函数会形成一个 JSON 对象,将其发送到 php 控制器,然后将其保存到 user.json 文件中。

  • 后端:除了保存之外,控制器还将扫描user.json 文件以查找与正在保存的新对象具有相同id 的任何对象。如果存在,它将删除该对象,然后添加新的 updated 对象。

Q1 是否最好删除旧对象12345并重新添加更新后的12345?或者以某种方式简单地 update 对象会更好吗?

Q2 这种存储数据的方式是不是一种好方法,在 PHP 中是否可能/容易?

【问题讨论】:

  • 我不建议将文件用于需要大量 I/O 的事情。如果您想要介于“真实”数据库和简单写入文件之间的轻量级东西,您可以使用sqlite
  • 您为什么不想为此使用数据库?
  • 我不想使用数据库,因为页面会提取一些客户信息,而且我没有完全授权使用数据库。
  • 我并不完全需要存储这些信息,它只是在短时间内使用。但我确实想要一份它的副本,以防我需要参考我过去做过的事情。
  • @Kenny 你现在在做什么(我的意思是文件)基本上是在使用一个不太好的数据库。如果我们在这里谈论语义,那么与我所建议的相比,您所做的只是一箭之遥。但是,如果您真的一心不使用数据库,那么是的,我想文件是要走的路。

标签: javascript php json symfony


【解决方案1】:
  1. 无论如何,您都必须重写文件,因此不会对性能产生太大影响。从代码的角度来看,如果每次从客户端获取完整数据,删除对象并重新创建它可能会更容易。

  2. 这并不是存储数据的好方法。正如@cilefen 在 cmets 中报告的那样,如果您想使用基于文件的数据库,您可能需要查看 SQLite (https://www.sqlite.org/)。当然,一切皆有可能,但可能不值得。

【讨论】:

  • 谢谢,我会研究 SQLite。我不熟悉将其设置为放在我的 php 文件中,所以我必须做一些研究。
猜你喜欢
  • 2018-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-04
  • 2011-01-25
  • 2012-11-16
  • 2012-02-25
  • 1970-01-01
相关资源
最近更新 更多