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

THINKPHP框架代码_个人修复

程序员文章站 2022-06-17 15:46:40
...
TP_个人修改核心文件部分_持续更新
(1)关联模型更新/删除,condition与pk互斥问题
ThinkPHP\Library\Think\Model\RelationModel.class.php 273行
源代码:if(!empty($val['condition'])) {
$mappingCondition = $val['condition'];
}else{
$mappingCondition = array();
$mappingCondition[$mappingFk] = $pk;
}
修改为:$mappingCondition = array();
if(!empty($val['condition'])) {
$mappingCondition['_string'] = $val['condition'];
}
$mappingCondition[$mappingFk] = $pk;
(2)标签库taglib,autoBuildVar统一格式
ThinkPHP\Library\Think\Template\Taglib.class.php 161行
源代码:if(0===strpos($val,'$')) {
$name .= '["{'.$val.'}"]';
}else{
$name .= '["'.$val.'"]';
}
修改为if(0===strpos($val,'$')) {
$name .= '[\'{'.$val.'}\']';
}else{
$name .= '[\''.$val.'\']';
}
(3)修正设置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元