app.brand
nav.index
nav.about
user.sign.in
ThinkPHP非多语言参数返回大写变量解决方法
在使用ThinkPHP3.1.3多语言的时候,发现如果输入未定义的多语言参数比如?l=zn-c那么就会返回大写的变量名,这是因为官方用的stripos函数只看有没有存在而不看是否完全匹配,应该要换个方式查看是否匹配,我的方法如下: 把官方 ThinkPHP -> Extend -> Behavior -> CheckLangBehavior.class.php 中 checkLanguage 函数中的这一段 ```php if (false === stripos(C('LANG_LIST'), $langSet)) { // 非法语言参数 $langSet = C('DEFAULT_LANG'); } ``` 替换为 ```php $hasDefined = false; foreach (explode(',', C('LANG_LIST')) as $langDefined){ if ($langSet === $langDefined) { $hasDefined = true; break; } } if (!$hasDefined) { $langSet = C('DEFAULT_LANG'); } ```
data.update.last
sys.time.ago
punc.commaarticle.create.bypunc.commaarticle.file.inpunc.colon
ThinkPHP
©app.copyright.year
app.author
·
app.ICP
sys.donate
alipay._self
wechat._self