lang类get方法增加变量替换支持

This commit is contained in:
thinkphp
2015-12-18 23:32:47 +08:00
parent 188785e86b
commit e3bd7becbe
2 changed files with 15 additions and 5 deletions

View File

@@ -57,9 +57,9 @@ define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false);
define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false);
// 获取多语言变量
function L($name)
function L($name, $vars = [], $lang = '')
{
return think\Lang::get($name);
return think\Lang::get($name, $vars, $lang);
}
// 获取配置参数

View File

@@ -79,18 +79,28 @@ class Lang
/**
* 获取语言定义(不区分大小写)
* @param string|null $name 语言变量
* @param array $vars 变量替换
* @param string $range 作用域
* @return mixed
*/
public static function get($name = null, $range = '')
public static function get($name = null, $vars = [], $range = '')
{
$range = $range ?: self::$range;
// 空参数返回所有定义
if (empty($name)) {
return self::$lang[$range];
}
$key = strtolower($name);
return isset(self::$lang[$range][$key]) ? self::$lang[$range][$key] : $name;
$key = strtolower($name);
$value = isset(self::$lang[$range][$key]) ? self::$lang[$range][$key] : $name;
if (is_array($vars) && !empty($vars)) {
// 支持变量
$replace = array_keys($vars);
foreach ($replace as &$v) {
$v = '{$' . $v . '}';
}
$value = str_replace($replace, $vars, $value);
}
return $value;
}
/**