将默认配置与用户选项合并

时间:2011-09-20 21:18:11

标签: php database user-interface configuration

让我们说我们的应用程序具有存储为简单数组的配置:

$config = array(
    'max_files' => 10,
    'suffixes'  => '[jpg,swf,png,gif]',
    'max_size'  => '10G'
);

我们希望将此配置保留在代码中,因为当我们发布新版本的软件时,我们要添加或更改默认值。

现在假设我们要将这些配置值打开到网站的用户(admin)。他们将使用某种GUI(文本框,下拉列表,多选等)修改这些值。

当我们发布软件的新版本并且仍然允许用户编辑值时,我们如何应用更新。较大的系统如何做到这一点(例如magento)。我们应该在“升级”时将值复制到数据库,然后不使用代码中的值吗?

很高兴听到想法和想法

2 个答案:

答案 0 :(得分:6)

  1. 获取默认配置值数组
  2. 获取用户设置的配置值(来自单独的数据库,配置文件,无论如何)
  3. 合并两个阵列,覆盖默认配置中的任何相交键
  4. ...
  5. 利润

答案 1 :(得分:2)

如果其他人只是挖了这个,使用PHP 5.3+你应该使用array_replace_recursive。对于早期版本,您只需添加两个数组$array1+$array2