我正在修改一个网站,我想为它添加一个配置文件,这样当将网站移动到另一台服务器时,我只需要更改一次环境参数,如数据库信息。但我不知道如何将配置文件应用于整个网站。我尝试使用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文件是自动包含的并不明显。