【问题标题】:Architecture/Design - Where to store app configuration?架构/设计 - 在哪里存储应用程序配置?
【发布时间】:2015-03-08 23:25:54
【问题描述】:

我正在 Laravel 中构建一个网络应用程序。 我有很多应用配置选项,例如:

  • 付费计划的价格
  • 试用模式的最长天数
  • 免费用户可以拥有的最大积分数
  • 默认电子邮件发件人地址

这些选项在整个应用程序中都使用,并且大部分时间都应该可用。我正在考虑有一个“配置”数据库表来存储和一个配置对象来访问数据......这会是一个好的解决方案吗?如果没有,我应该怎么做?

【问题讨论】:

    标签: php laravel architecture


    【解决方案1】:

    这样的配置一般有两种可能:

    哪一种更适合您的情况取决于:

    • 配置多久更改一次?

    几乎从不,然后去找文件。 经常,然后去 DB

    • 谁应该能够更改配置?

    只有您的管理员具有 cli/ssh 访问权限,然后再查找文件。 一大群人,那就去DB

    • 每个服务器的配置是否有所变化?

    如果是,那么也许你可以利用 Laravel 标准配置中的环境检测方法

    • 简单的值(文件就足够了)或复杂的“模型”(DB)

    一般来说,我估计平面文件总是更高效且更易于扩展。


    在我当前的应用程序中,我同时使用两者:

    平面文件配置包含: 用户可以上传的文件限制;默认缩略图大小;可用语言;一些第三方代币;邮件返回地址。

    我估计这些东西只会偶尔更改一次,并且总是需要我的(管理员)干预。

    数据库有包裹价格表;奖励条件和相关奖励。

    网站所有者(我的客户)可以轻松更改这些值,并且它们还包含结构化元数据。例如。如何颁发奖项,如何称呼和翻译等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 2015-03-07
      • 1970-01-01
      • 2013-06-19
      • 2011-05-15
      • 1970-01-01
      • 2011-04-22
      相关资源
      最近更新 更多