请教配置文件的问题

#1 SunPSP

搜了下spConfig,发现J大有个回复说原则上不推荐直接使用$spConfig调用配置
$GLOBALS['G_SP']=$spConfig
在核心看到这么一句
$GLOBALS['G_SP'] = spConfigReady(require(SP_PATH."/spConfig.php"),$spConfig);
注释说明这是将用户的配置覆盖到默认配置
如果没有不同的话就等效于
$GLOBALS['G_SP'] = require(SP_PATH."/spConfig.php")
我将spConfig.php内的配置全部拷贝到index.php的$spConfig下
那么就是$GLOBALS['G_SP'] = $spConfig
尝试运行了下,一切正常

接下来开始折腾:
我试了下直接用$spConfig['xxx'],发现并不能获取相关配置参数
$GLOBALS['G_SP']['xxx']就可以
这是为啥子?
然后在入口文件index.php内新建数组
$spApp=array(
'app'=>'name',
);
$spApp['app']也无法输出对应的值
请教如何才能直接使用$spConfig调用配置参数而不是$GLOBALS['G_SP']?
说明:以上都是用speedy模板引擎做的尝试,直接在index.php里面echo的话是可以的

2013-01-11 17:40:51

#2 jake

$GLOBALS是PHP自带的变量,在PHP语法里面称作全局变量。

你自己定的$spConfig['xxx'],$spApp['app']是自定义变量,没有全局性。

关于全局变量的使用,可以参考PHP手册 http://cn2.php.net/manual/zh/language.variables.scope.php

2013-01-11 17:54:30