修复设置SESSION前缀情况下模板中$Think.session失效
程序员文章站
2024-01-20 20:06:40
...
修复设置SESSION前缀情况下模板中$Think.session失效
设置SESSION前缀情况下模板中类似$Think.session.admin.info失效
ThinkPHP\Library\Think\Template.class.php 605行开始
设置SESSION前缀情况下模板中类似$Think.session.admin.info失效
ThinkPHP\Library\Think\Template.class.php 605行开始
case 'COOKIE':
if(isset($vars[3])) {
$parseStr = '$_COOKIE[\''.$vars[2].'\'][\''.$vars[3].'\']';
}else{
$parseStr = 'cookie(\''.$vars[2].'\')';
}
break;
case 'SESSION':
if(isset($vars[3])) {
$parseStr = '$_SESSION[\''.$vars[2].'\'][\''.$vars[3].'\']';
}else{
$parseStr = 'session(\''.$vars[2].'\')';
}
break;
修改为case 'COOKIE':
if(isset($vars[3])) {
$prefix=C('COOKIE_PREFIX');
$prefixStr=empty($prefix) ? '' : "['".$prefix."']";
$parseStr = '$_COOKIE'.$prefixStr.'[\''.$vars[2].'\'][\''.$vars[3].'\']';
}else{
$parseStr = 'cookie(\''.$vars[2].'\')';
}
break;
case 'SESSION':
if(isset($vars[3])) {
$prefix=C('SESSION_PREFIX');
$prefixStr=empty($prefix) ? '' : "['".$prefix."']";
$parseStr = '$_SESSION'.$prefixStr.'[\''.$vars[2].'\'][\''.$vars[3].'\']';
}else{
$parseStr = 'session(\''.$vars[2].'\')';
}
break;
AD:真正免费,域名+虚机+企业邮箱=0元
上一篇: PHP设计模式--解释器模式
下一篇: PHP扩展开发(1):入门