优化写法

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',
// 是否开启多语言
'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变量
'lang_cookie_var' => 'think_lang',
'lang_cookie_var' => 'think_lang',
// +----------------------------------------------------------------------
// | 模块设置
@@ -144,9 +144,9 @@ return [
// +----------------------------------------------------------------------
// | 数据库设置
// +----------------------------------------------------------------------
// 是否启用多状态数据库配置 如果启用的话 需要跟随app_status配置不同的数据库信息
'use_db_switch' => false,
'use_db_switch' => false,
'database' => [
// 数据库类型
'type' => 'mysql',

View File

@@ -110,18 +110,20 @@ class Lang
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中设置了语言变量
$langSet = strtolower($_GET[Config::get('lang_detect_var')]);
\think\Cookie::set(Config::get('lang_cookie_var'), $langSet, 3600);
} elseif (\think\Cookie::get(Config::get('lang_cookie_var'))) {
$langSet = strtolower($_GET[$langDetectVar]);
\think\Cookie::set($langCookieVar, $langSet, 3600);
} 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'])) {
// 自动侦测浏览器语言
preg_match('/^([a-z\d\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
$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'))) {
// 合法的语言