<p><strong>更新框架修复</strong></p><p>如果你使用composer安装,并且一直保持最新版本使用的话,使用下面的指令更新到最新版本即可</p><pre class="brush:php;toolbar:false;">composer update topthink/framework</pre><p>如果你使用了git版本库安装,也请及时更新你所用的仓库版本。</p><p>如果各种原因暂时无法更新到最新版本(早期版本升级到最新版本可能存在兼容性问题,请首先参考官方手册的升级指导章节),可以参考下面的方式进行手动修正。</p><p><a></a><strong>手动修复</strong></p><p><strong>5.0版本</strong></p><p>在think\App类的module方法的获取控制器的代码后面加上</p><pre class="brush:php;toolbar:false;">if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) { throw new HttpException(404, 'controller not exists:' . $controller); }</pre><p><a></a><strong>5.1版本</strong></p><p>在think\route\dispatch\Url类的parseUrl方法,解析控制器后加上</p><pre class="brush:php;toolbar:false;">if ($controller && !preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) { throw new HttpException(404, 'controller not exists:' . $controller); }</pre><p><a></a><strong>V5.1.31主要更新日志</strong></p><p>改进field方法</p><p>改进count方法返回类型</p><p>download函数增加在浏览器中显示文件功能</p><p>修正多对多模型的中间表数据写入</p><p>改进sqlsrv驱动支持多个Schemas模式查询</p><p>统一助手函数与\think\response\Download函数文件过期时间</p><p>完善关联模型的save方法 增加make方法仅创建对象不保存</p><p>修改条件表达式对静态变量的支持</p><p>修正控制器名获取</p><p>改进view方法的field解析</p><p><a></a><strong>V5.0.23主要更新日志</strong></p><p>Query支持调用模型的查询范围</p><p>聚合查询字段支持DISTINCT</p><p>改进闭包验证的参数</p><p>多对多关联支持指定中间表数据名称</p><p>after/before验证支持指定字段验证</p><p>改进多对多关联</p><p>改进验证类</p><p>增加afterWith和beforeWith验证规则 用于比较日期字段</p><p>完善规则提示</p><p>改进断线重连</p><p>修正软删除的destroy方法</p><p>修复模型的save方法当data变量为空 数据不验证</p><p>模型增加replace方法</p><p>MorphOne 增加 make 方法创建关联对象实例</p><p>改进count方法返回值类型</p><p>改进聚合查询方法的正则判断</p><p>改进sqlsrv驱动</p><p>完善关联的save方法</p><p>修正控制器名获取</p>