PHP - 应用程序配置文件存储为 - ini,php,sql,cached,php class,JSON,php array?

我正在尝试确定存储应用程序配置设置的最佳方式。有很多选择。

我见过的大多数应用程序都使用了一个简单的 require 和一个包含变量的 PHP 文件。似乎有更先进的技术。

你用过什么?什么是最有效的?什么是最安全的?


答案 1

我们使用一个名为的文件,该文件已从 SCM 系统中排除。它包含多个常量或全局变量。例如:Local.php

// Local.php
class Setting
{
   const URL = 'http://www.foo.com';
   const DB_User = 'websmith';
}

它可以在任何地方引用,只需:

Setting::URL

如果您需要在运行时可写设置,我建议您改用公共静态变量。


答案 2

你能做的最好的事情是最简单的事情(php变量)并将其包装在一个类中。这样,您以后就可以更改实现,而无需更改任何客户端代码。创建配置类实现的接口,并使客户端代码使用接口方法。如果您以后决定将配置存储在数据库或JSON或其他任何位置中,则只需将现有实现换成新实现即可。确保配置类是可测试的,并编写单元测试。


推荐