【问题标题】:Should a PHP app store configuration data in defined constants or a database?PHP 应用程序应该将配置数据存储在定义的常量还是数据库中?
【发布时间】:2013-08-13 01:20:45
【问题描述】:

我正在开发一个 PHP 应用程序,我一直在与自己反复讨论存储配置数据的最佳方式(这种类型可能偶尔会改变,但可能不会经常改变)。这主要包括许多非敏感信息,例如某些令牌和 cookie 的有效期,或应用程序发送的各种电子邮件的参数,但它还包括一些更敏感的信息,例如 API 密钥。

  1. 将其存储在数据库表中 - 这是我最初开始采用的路径,部分原因是我正在设想一个方便的管理实用程序,它允许系统管理员轻松修改这些值必要时。但由于大多数应用程序页面都需要访问这些值中的一个或多个,因此感觉就像是对数据库的大量额外访问,即使它们是小型、快速的查找。

  2. 使用定义的常量 - 我还想过只使用定义的常量并将数据粘贴到 .php 文件中(当然,在 Web 根目录之外)。这显然可以避免任何数据库查找,但不知何故,在给定页面最多只需要少数几个常量时,在每次页面加载时定义几十个常量同样是一种浪费。

是否推荐其中一种(或其他某种东西),无论是出于安全、效率还是风格的原因?

【问题讨论】:

    标签: php database configuration constants defined


    【解决方案1】:

    我见过同时具备这两种功能的大型系统。

    将所有值存储在数据库中,以便于管理它们,同时还维护一个 php 常量文件,每次在后端更改值时都会生成这些常量。

    如果你真的担心数据库访问过多,这可能是走下去的路线。

    【讨论】:

      【解决方案2】:

      任何一个选项都有效,这完全取决于您交付的产品。在分布到多个客户端的大型应用程序中很常见,您有一个简单的后端,他们可以管理其中的许多配置细节(例如 vBulletins ACP)。换句话说,选项 1 更常见,因为它提供了抽象层(并且出于您所说的所有原因)。

      【讨论】:

        猜你喜欢
        • 2011-01-16
        • 1970-01-01
        • 2021-06-27
        • 2019-11-11
        • 2013-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多