扩展配置里面的设置项是有大小写区分吗?
时间:2010-07-16
来源:互联网
手册中有这样一句话:
考虑到扩展配置的特殊需要,扩展配置里面的设置项是有大小写区分的。
在App.class.php中有这样的语句:
// 读取扩展配置文件
$list = C('APP_CONFIG_LIST');
foreach ($list as $val){
if(is_file(CONFIG_PATH.$val.'.php'))
C('_'.$val.'_',array_change_key_case(include CONFIG_PATH.$val.'.php'));
}
查了array_change_key_case的用法:
// array_change_key_case(array,case)函数将数组的所有的 KEY 都转换为大写或小写。
// 数组的数字索引不发生变化。如果未提供可选参数(即第二个参数),则默认转换为小写字母。
// 第二个参数可选 CASE_LOWER - 默认值。以小写字母返回数组的键。
// 第二个参数可选 CASE_UPPER - 以大写字母返回数组的键。
// 如果在运行该函数时两个或多个键相同,则最后的元素会覆盖其他元素.
上面的语句应该是将扩展配置中的所有配置键都默认转换成小写,键相同时后面的会覆盖前面的, 这样就不区分大小写了, 和手册说法就不一样了.
不知道我的理解对不? 请指点.
考虑到扩展配置的特殊需要,扩展配置里面的设置项是有大小写区分的。
在App.class.php中有这样的语句:
// 读取扩展配置文件
$list = C('APP_CONFIG_LIST');
foreach ($list as $val){
if(is_file(CONFIG_PATH.$val.'.php'))
C('_'.$val.'_',array_change_key_case(include CONFIG_PATH.$val.'.php'));
}
查了array_change_key_case的用法:
// array_change_key_case(array,case)函数将数组的所有的 KEY 都转换为大写或小写。
// 数组的数字索引不发生变化。如果未提供可选参数(即第二个参数),则默认转换为小写字母。
// 第二个参数可选 CASE_LOWER - 默认值。以小写字母返回数组的键。
// 第二个参数可选 CASE_UPPER - 以大写字母返回数组的键。
// 如果在运行该函数时两个或多个键相同,则最后的元素会覆盖其他元素.
上面的语句应该是将扩展配置中的所有配置键都默认转换成小写,键相同时后面的会覆盖前面的, 这样就不区分大小写了, 和手册说法就不一样了.
不知道我的理解对不? 请指点.
作者: 含海 发布时间: 2010-07-16
楼主的理解应该是正确的。。
一般大小写在linux服务器会出问题。。注意一下就ok
一般大小写在linux服务器会出问题。。注意一下就ok
作者: flyfishiii 发布时间: 2010-07-16
测试了, 扩展配置中的只能使用小写读取, C函数默认转化为小写. 不能使用大写读取. 系统配置大小写都可以读取, 如C("APP_Debug")和C("app_debg")一样. 如果想不区分大小写读取, 应该在$name[0] = strtolower($name[0]);下增加
$name[1] = strtolower($name[1]);
但是扩展配置中的配置项的设置(注意不是读取),大小写无所谓.
另外, 对于扩展配置中的二维数组里的设置项, 需要更改C函数才能读取.
$name[1] = strtolower($name[1]);
但是扩展配置中的配置项的设置(注意不是读取),大小写无所谓.
另外, 对于扩展配置中的二维数组里的设置项, 需要更改C函数才能读取.
作者: 含海 发布时间: 2010-07-18
不区分大小写,这个地方,觉得不是很好,这对于不同系统的话,移植性好么??
作者: gomonday 发布时间: 2011-09-27
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28