优化写法

This commit is contained in:
thinkphp
2015-12-21 18:00:15 +08:00
parent 4d735fb03e
commit ab5f408e50
2 changed files with 14 additions and 12 deletions

View File

@@ -24,13 +24,13 @@ return [
// 默认时区 // 默认时区
'default_timezone' => 'PRC', 'default_timezone' => 'PRC',
// 是否开启多语言 // 是否开启多语言
'lang_switch_on' => false, 'lang_switch_on' => false,
// 支持的多语言列表 // 支持的多语言列表
'lang_list' => ['zh-cn'], 'lang_list' => ['zh-cn'],
// 语言变量 // 语言变量
'lang_detect_var' => 'lang', 'lang_detect_var' => 'lang',
// 语言cookie变量 // 语言cookie变量
'lang_cookie_var' => 'think_lang', 'lang_cookie_var' => 'think_lang',
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | 模块设置 // | 模块设置
@@ -144,9 +144,9 @@ return [
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | 数据库设置 // | 数据库设置
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// 是否启用多状态数据库配置 如果启用的话 需要跟随app_status配置不同的数据库信息 // 是否启用多状态数据库配置 如果启用的话 需要跟随app_status配置不同的数据库信息
'use_db_switch' => false, 'use_db_switch' => false,
'database' => [ 'database' => [
// 数据库类型 // 数据库类型
'type' => 'mysql', 'type' => 'mysql',

View File

@@ -110,18 +110,20 @@ class Lang
public static function detect() public static function detect()
{ {
// 自动侦测设置获取语言选择 // 自动侦测设置获取语言选择
if (isset($_GET[Config::get('lang_detect_var')])) { $langCookieVar = Config::get('lang_cookie_var');
$langDetectVar = Config::get('lang_detect_var');
if (isset($_GET[$langDetectVar])) {
// url中设置了语言变量 // url中设置了语言变量
$langSet = strtolower($_GET[Config::get('lang_detect_var')]); $langSet = strtolower($_GET[$langDetectVar]);
\think\Cookie::set(Config::get('lang_cookie_var'), $langSet, 3600); \think\Cookie::set($langCookieVar, $langSet, 3600);
} elseif (\think\Cookie::get(Config::get('lang_cookie_var'))) { } elseif (\think\Cookie::get($langCookieVar)) {
// 获取上次用户的选择 // 获取上次用户的选择
$langSet = strtolower(\think\Cookie::get(Config::get('lang_cookie_var'))); $langSet = strtolower(\think\Cookie::get($langCookieVar));
} elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { } elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
// 自动侦测浏览器语言 // 自动侦测浏览器语言
preg_match('/^([a-z\d\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches); preg_match('/^([a-z\d\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
$langSet = strtolower($matches[1]); $langSet = strtolower($matches[1]);
\think\Cookie::set(Config::get('lang_cookie_var'), $langSet, 3600); \think\Cookie::set($langCookieVar, $langSet, 3600);
} }
if (in_array($langSet, \think\Config::get('lang_list'))) { if (in_array($langSet, \think\Config::get('lang_list'))) {
// 合法的语言 // 合法的语言