全局PHP应用程序配置常量&&引用;包括「;

全局PHP应用程序配置常量&&引用;包括「;,php,constants,global,Php,Constants,Global,我目前正在创建/重建一个相当大的PHP应用程序/网站,它使用一些不同的API和与数据库的接口。因此,我必须存储API密钥、应用程序密钥和其他此类配置数据,以便所有不同的文件/页面都可以集中访问它们 目前,我正在全局上下文中声明变量,并使用require_once()包含它们: 唯一的缺点是,如果我必须在函数中引用它们,因为它们不是像$\u GLOBALS或$\u SESSION变量那样的超全局变量,例如,我必须这样做: function database_connect( ... ) {

我目前正在创建/重建一个相当大的PHP应用程序/网站,它使用一些不同的API和与数据库的接口。因此,我必须存储API密钥、应用程序密钥和其他此类配置数据,以便所有不同的文件/页面都可以集中访问它们

目前,我正在全局上下文中声明变量,并使用require_once()包含它们:

唯一的缺点是,如果我必须在函数中引用它们,因为它们不是像
$\u GLOBALS
$\u SESSION
变量那样的超全局变量,例如,我必须这样做:

function database_connect( ... ) {
    global $API_KEY, $APP_ID, $API_URL; //etc...
    ...
    ...
}
如果可以的话,我希望避免通过函数传入API密钥。我希望在声明站点范围的全局常量方面获得一些最佳实践,并可能避免在每个函数的开头调用
global
关键字

我应该在声明中使用
const
?使用define()函数有什么好处吗

我使用
require\u once()
做的对吗?还是有更好的方法

你们都怎么想?我应该怎么做?
谢谢

看来已经考虑周全了。但您似乎也意识到,最后三个应该是全局常量。对于多个配置数组,为什么不将其设为一个大数组或配置对象,并按应用程序名称嵌套URL、API和键?或者使用查找函数/实用程序类。使示例不那么抽象,以获得更具体的建议。
require_once('path/to/config.php');
function database_connect( ... ) {
    global $API_KEY, $APP_ID, $API_URL; //etc...
    ...
    ...
}