【发布时间】:2012-06-08 21:27:09
【问题描述】:
我正在我的 codeigniter 项目中加载 google-api-php-client 库(用于 oauth 2.0)。我想在配置文件中定义一系列配置值,以便它们可以与这个库一起使用。但是,我注意到库的配置信息是在我定义的配置文件之前加载的。
例如,在autoload.php 中,我将配置自动加载设置如下:
$autoload['config'] = array('my_config_file');
在my_config_file.php 内,我有一系列define 语句来设置配置值:
define('GOOGLE_OAUTH_APPLICATION_NAME','My Application Name');
define('GOOGLE_OAUTH_CLIENT_ID','My App Client ID');
define('GOOGLE_OAUTH_CLIENT_SECRET','My App Client Secret');
我想在 google-api-php-client 库的配置中使用这些:
global $apiConfig;
$apiConfig = array(
'application_name' => GOOGLE_OAUTH_APPLICATION_NAME,
'oauth2_client_id' => GOOGLE_OAUTH_CLIENT_ID,
'oauth2_client_secret' => GOOGLE_OAUTH_CLIENT_SECRET
);
在这样做(和一些调试)之后,我确定库的配置文件在自动加载的配置文件之前执行。我得到的错误进一步表明了这一点:
Notice: Use of undefined constant GOOGLE_OAUTH_APPLICATION_NAME ...
Notice: Use of undefined constant GOOGLE_OAUTH_CLIENT_ID ...
Notice: Use of undefined constant GOOGLE_OAUTH_CLIENT_SECRET ...
如何获取它以便在加载库配置之前定义这些全局配置常量(从而解决此问题)?
【问题讨论】:
-
您没有使用标准的 codeigniter 配置文件有什么原因吗?如果您真的想为您的 google api 库提供一个专用的配置文件,我会直接从该库中包含它,而不是使用自动加载。
标签: php codeigniter google-api app-config