存储配置数据 - 哪种方式?

时间:2012-04-21 01:39:07

标签: php mysql codeigniter configuration

我正在使用Codeigniter框架开发我的新网站。关键是,我希望在我的管理面板中可以配置大部分内容。

我没有太多关于存储数据的经验,那么哪种方式会更好:PHP配置文件还是MySQL表?

将有相当多的配置,所以我想尽快访问它:例如使用MVC的模型,但没有人说我不能对帮助器做同样的事情(对于PHP配置)文件)...所以这一切都取决于它的方式:可访问速度更快,更新更好。在我看来,MySQL将是一个更好的选择,因为我需要的只是一个小问题 - 但我会先听你的意见,因为大多数人都有与这类东西相关的很好的经验。 / p>

4 个答案:

答案 0 :(得分:3)

这取决于 - 你需要一个用户界面吗?如果这样做,请将其存储在数据库中。否则,肯定将其存储在PHP配置文件中。优势有:

  • 它更快
  • 更容易
  • 实际上更容易更改

但是,如果要为设置创建某种管理面板,则需要将其存储在数据库中,因为在PHP中更新PHP配置文件通常很困难并且不是一个好主意。

答案 1 :(得分:3)

我认为这将取决于您的应用程序的配置方式。您将运行多少个实例(用于扩展)以及您期望值更改的频率。

一个强大的专家在所有实例中拥有一致的主配置数据。在一个地方更改它,所有实例都可以获得它。这也可以在运行时更改,而不必重新部署应用程序。 con 是从数据库中获取配置数据的额外复杂性(更不用说首先为此设置服务器),这是另一个失败点。

另一方面,拥有配置文件要容易得多,如果您不需要频繁更改值或只有一台服务器,那么这可能是合适的。当您拥有多台服务器时,缺点就是在数十台或数百台服务器上部署和管理配置文件变得很麻烦。

答案 2 :(得分:2)

使用MySQL数据库绝对是存储灵活数据的方法。此外,Codeigniter的活动记录库(http://codeigniter.com/user_guide/database/active_record.html)使得处理MySQL数据库变得更加容易,而且还可以为您清理查询。如果您只需要存储几个数据,那么PHP配置文件将是可接受的解决方案,但如果您正在构建管理面板,那么肯定会使用MySQL数据库。

答案 3 :(得分:2)

codeigniter有一个合适的配置机制。您可以将所有配置放在application / config / config.php文件中,codeigniter框架确保以最有效的方式将它们提供给您的代码。

如果您认为将来将由用户/管理员管理配置,则应将其置于数据库中。网站名称等。请记住,每次数据库之旅都有成本。您可以通过缓存值来支付该成本,但如果您确实需要,请选择自定义配置解决方案。