如何在站点范围内应用配置文件


how to apply a config file site-wide?

我正在修改一个网站,我想为它添加一个配置文件,这样当将网站移动到另一台服务器时,我只需要更改一次环境参数,如数据库信息。但我不知道如何将配置文件应用于整个网站。我尝试使用includeonce()并使用关键字global使其全局化,但它只适用于当前文件。如果我不使用define()使这些参数保持不变,还有其他方法可以实现吗?非常感谢。

您可以创建一个类Config并将配置参数存储为类常量。然后在需要的地方包含这个类,或者使用自动加载

class Config {
    const databaseUsername = "user123";
    const databasePassword = "pass456";
}
echo Config::databaseUsername;
echo Config::databasePassword;

但根据我的经验,define()运行得非常好,除非您需要存储更复杂的数据类型(例如数组)。

为了避免在任何地方都包含配置文件,您可以在PHP.ini中设置auto_prepend_file,但我个人觉得这个解决方案很模糊,因为对于另一个处理代码的开发人员来说,PHP文件是自动包含的并不明显。