0

我正在使用Codeigniter框架开发我的新网站。关键是,我想在我的管理面板中配置大多数东西。

我在存储数据方面没有太多经验,那么哪种方式会更好:PHP 配置文件或 MySQL 表?

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

4

4 回答 4

3

这取决于 - 你需要一个用户界面吗?如果这样做,请将其存储在数据库中。否则,请务必将其存储在 PHP 配置文件中。那里的优点是:

  • 它更快
  • 这更容易
  • 改变其实更容易

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

于 2012-04-21T01:45:46.760 回答
3

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

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

另一方面,拥有一个配置文件要容易得多,如果您不需要非常频繁地更改值或只有一个服务器,这可能是合适的。当您拥有多台服务器时,不利的一面是,在数十或数百台服务器上部署和管理配置文件变得很痛苦。

于 2012-04-21T01:46:34.443 回答
2

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

于 2012-04-21T01:49:20.190 回答
2

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

如果您认为将来它们将由用户/管理员管理,则应将配置放在数据库中,例如。站点名称等。否则请记住,每次访问数据库都是有成本的。您可以通过缓存值来支付该成本,但如果您确实需要它,请选择您的自定义配置解决方案。

于 2012-04-21T01:52:29.250 回答