欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

修复设置SESSION前缀情况下模板中$Think.session失效

程序员文章站 2024-01-20 20:06:40
...
修复设置SESSION前缀情况下模板中$Think.session失效
设置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元