我应该如何在php中存储设置变量?

Shy*_*lux 5 php coding-style

我目前正在用PHP编写程序.我想让我的脚本用户更改一些设置,如数据库位置和用户.这些变量放在脚本的第一行.

现在我想从类和函数中的任何地方访问这些变量.

我使用全局变量.但一位同事告诉我不要使用全局变量.

那么在php中存储和访问设置的常用方法是什么?

Sho*_*hoe 6

您可以使用默认情况下为全局的常量:

define('APPLICATION_SETTING', true);
Run Code Online (Sandbox Code Playgroud)

否则,您可以使用Registry Singleton类,在该类中加载设置并将它们存储在类私有变量中.经典的Registry类结构:

class Registry {
    private $instance = NULL;
    private $vars = array();
    private __construct() {/**/}
    public static function getInstance() {/**/}
    public function get($key) {/**/}
    public function set($key, $value) {/**/}
}
Run Code Online (Sandbox Code Playgroud)

不,我建议你不要使用注射和填充模式.只需使用Singleton.使用Injection,你会变得更糟,更复杂.