改进Config类

This commit is contained in:
thinkphp
2016-03-14 17:07:38 +08:00
parent 8affa2aed4
commit 2e17f418eb

View File

@@ -73,14 +73,13 @@ class Config
public static function has($name, $range = '') public static function has($name, $range = '')
{ {
$range = $range ?: self::$range; $range = $range ?: self::$range;
$name = strtolower($name);
if (!strpos($name, '.')) { if (!strpos($name, '.')) {
return isset(self::$config[$range][$name]); return isset(self::$config[$range][strtolower($name)]);
} else { } else {
// 二维数组设置和获取支持 // 二维数组设置和获取支持
$name = explode('.', $name); $name = explode('.', $name);
return isset(self::$config[$range][$name[0]][$name[1]]); return isset(self::$config[$range][strtolower($name[0])][$name[1]]);
} }
} }
@@ -98,12 +97,13 @@ class Config
if (empty($name) && isset(self::$config[$range])) { if (empty($name) && isset(self::$config[$range])) {
return self::$config[$range]; return self::$config[$range];
} }
$name = strtolower($name);
if (!strpos($name, '.')) { if (!strpos($name, '.')) {
// 判断环境变量 // 判断环境变量
if (isset($_ENV[ENV_PREFIX . $name])) { if (isset($_ENV[ENV_PREFIX . $name])) {
return $_ENV[ENV_PREFIX . $name]; return $_ENV[ENV_PREFIX . $name];
} }
$name = strtolower($name);
return isset(self::$config[$range][$name]) ? self::$config[$range][$name] : null; return isset(self::$config[$range][$name]) ? self::$config[$range][$name] : null;
} else { } else {
// 二维数组设置和获取支持 // 二维数组设置和获取支持
@@ -112,6 +112,7 @@ class Config
if (isset($_ENV[ENV_PREFIX . $name[0] . '_' . $name[1]])) { if (isset($_ENV[ENV_PREFIX . $name[0] . '_' . $name[1]])) {
return $_ENV[ENV_PREFIX . $name[0] . '_' . $name[1]]; return $_ENV[ENV_PREFIX . $name[0] . '_' . $name[1]];
} }
$name[0] = strtolower($name[0]);
return isset(self::$config[$range][$name[0]][$name[1]]) ? self::$config[$range][$name[0]][$name[1]] : null; return isset(self::$config[$range][$name[0]][$name[1]]) ? self::$config[$range][$name[0]][$name[1]] : null;
} }
} }
@@ -131,13 +132,12 @@ class Config
self::$config[$range] = []; self::$config[$range] = [];
} }
if (is_string($name)) { if (is_string($name)) {
$name = strtolower($name);
if (!strpos($name, '.')) { if (!strpos($name, '.')) {
self::$config[$range][$name] = $value; self::$config[$range][strtolower($name)] = $value;
} else { } else {
// 二维数组设置和获取支持 // 二维数组设置和获取支持
$name = explode('.', $name); $name = explode('.', $name);
self::$config[$range][$name[0]][$name[1]] = $value; self::$config[$range][strtolower($name[0])][$name[1]] = $value;
} }
return; return;
} elseif (is_array($name)) { } elseif (is_array($name)) {