如何存储php app的配置 - xml或ini或db

spr*_*man 11 php configuration

我有一个用PHP编写的应用程序,并且有许多可配置的变量.我们正在实现一项功能,用户可以在其中创建配置集并轻松切换.我应该如何储存我的配件?作为XML?在.ini文件中?在多个.ini文件中?在数据库?

如果我们在路上添加字段,会提供最大的灵活性?编码方便吗?

如果我使用数据库,我将不得不从应用程序的主要数据库中使用一个单独的数据库,原因是不值得进入,这让我对此感到害羞.(另外,我们正在为我们的数据库使用.mdb文件.)

我一直沿着xml路线走下去,但是我在使用SimpleXML添加和编辑配置时遇到了问题.此外,该应用程序必须与PHP 5.1.6兼容,我对某些功能有点紧张.

从未真正处理过创建自定义ini文件....

一个小小的澄清:用户不会触摸文件 - 他们是非技术人员.因此,设置初始文件将由我们完成,但随后我们正在编写一个工具,将其配置写入我们选择的任何格式.

The*_*per 5

我会将配置项存储在PHP文件中.这是使用过的最灵活的方法.

$config['website_url'] = 'google.com';
Run Code Online (Sandbox Code Playgroud)

然后我有以下文件结构

- config/development
- config/production
Run Code Online (Sandbox Code Playgroud)

我在名为IN_PRODUCTION的软件的早期定义了一个常量,当它为TRUE时,它会加载生产配置项,反之亦然.

这很简单,易于维护.

-Mathew

  • 请注意,如果将配置变量存储在ini文件中,则可以非常轻松地将数据转换为关联数组.$ config = parse_ini_file("config.php"); (2认同)

Tre*_*reb 4

在我看来,将一个数据库的设置存储在另一个数据库中没有多大意义。

我会选择 ini 文件、xml 文件或 php 文件,如jmucchiello所建议的。每个选项都有其优点和缺点。至于 xml 与 ini 相比,xml 提供了更大的灵活性,但更难以维护(可读性较差)。如果 ini 可以满足您的需求,请坚持使用更简单的解决方案。仅当您需要的内容超出 ini 文件所能提供的范围时才使用 xml。

至于php解决方案,我认为其可读性介于ini和xml之间,但保存当前设置会更困难。因此,尽管我很喜欢这种方法,但对于您当前的情况,我不会推荐它。