Architecture/Design - 在哪里存储应用程序配置?
Architecture/Design - Where to store app configuration?
我正在 Laravel 中构建网络应用程序。
我有很多应用程序配置选项,例如:
- 付费计划的价格
- 试用模式的最长天数
- 免费用户可以拥有的最大积分数
- 默认电子邮件发件人地址
这些选项在整个应用程序中使用,并且应该在大部分时间可用。我正在考虑有一个 'config' 数据库 table 来存储和一个配置对象来访问数据......这会是一个好的解决方案吗?如果没有,我还应该怎么做?
这样的配置一般有两种可能:
- app/config http://laravel.com/docs/4.2/configuration
- 在数据库中配置表
哪一个更适合您的情况取决于:
- 配置多久更改一次?
几乎从不,然后去找文件。
很多时候,然后去DB
- 谁应该能够更改配置?
只有您的管理员具有 cli/ssh 访问权限,然后去获取文件。
一大群人,那就去DB
- 每台服务器的配置是否变化?
如果是,那么也许您可以利用 Laravels 标准配置中的环境检测方法
- 简单值(文件就够了)或复杂值 "models" (DB)
一般来说,我认为平面文件总是性能更高且更容易扩展。
在我当前的应用程序中,我同时使用了:
平面文件配置包含:用户可以上传的文件限制;默认缩略图大小;可用语言;一些第三方代币;邮件 return 个地址。
我估计这些东西只会偶尔更改一次,无论如何都需要我的(管理员)干预。
数据库中有包裹价格表;奖励条件和相关奖励。
网站所有者(我的客户)可以轻松更改自己的这些值,并且它们还包含结构化元数据。例如。如何颁发奖项,如何称呼和翻译等
我正在 Laravel 中构建网络应用程序。 我有很多应用程序配置选项,例如:
- 付费计划的价格
- 试用模式的最长天数
- 免费用户可以拥有的最大积分数
- 默认电子邮件发件人地址
这些选项在整个应用程序中使用,并且应该在大部分时间可用。我正在考虑有一个 'config' 数据库 table 来存储和一个配置对象来访问数据......这会是一个好的解决方案吗?如果没有,我还应该怎么做?
这样的配置一般有两种可能:
- app/config http://laravel.com/docs/4.2/configuration
- 在数据库中配置表
哪一个更适合您的情况取决于:
- 配置多久更改一次?
几乎从不,然后去找文件。 很多时候,然后去DB
- 谁应该能够更改配置?
只有您的管理员具有 cli/ssh 访问权限,然后去获取文件。 一大群人,那就去DB
- 每台服务器的配置是否变化?
如果是,那么也许您可以利用 Laravels 标准配置中的环境检测方法
- 简单值(文件就够了)或复杂值 "models" (DB)
一般来说,我认为平面文件总是性能更高且更容易扩展。
在我当前的应用程序中,我同时使用了:
平面文件配置包含:用户可以上传的文件限制;默认缩略图大小;可用语言;一些第三方代币;邮件 return 个地址。
我估计这些东西只会偶尔更改一次,无论如何都需要我的(管理员)干预。
数据库中有包裹价格表;奖励条件和相关奖励。
网站所有者(我的客户)可以轻松更改自己的这些值,并且它们还包含结构化元数据。例如。如何颁发奖项,如何称呼和翻译等