ThinkPHP5.0.17&5.1.9版本发布——包含安全更新

浏览:8053 发布日期:2018/04/12 分类:ThinkPHP5专区
此次同步发布了两个版本的更新,均包含一处安全更新,推荐更新。

[ V5.0.17版本 ]

V5.0.17版本存在一些BUG,已经在V5.0.18版本修正,建议升级到该版本

此次发布的5.0.17版本主要是一些修正和改进,并且包含了一个安全更新。

更新日志

* 改进Response类`create`方法
* 改进`inc/dec`查询
* 默认模板渲染规则支持直接使用操作方法名
* 改进视图驱动
* 改进Request类ip方法 支持代理设置
* 修正request类的`create`方法
* 闭包查询使用`cache(true)`抛出异常
* 改进composer自动加载文件
* 增加`expression`类及相关方法


V5.0版本已经进入安全更新阶段,不再更新功能,仅作安全修复及BUG修正

升级指导

如果你在`order`方法中使用了SQL函数,请使用`orderRaw`方法或者`Db::raw()`方法替代。

如果你使用了闭包查询条件,并且使用了默认的查询缓存cache()或者cache(true),新版本会抛出异常,请改为cache('key') 避免因为查询缓存无效而影响业务。

更多升级指导参考这里

[ V5.1.9版本 ]

V5.1.9版本存在一些BUG,已经在V5.1.10版本修正,建议升级到该版本

该版本主要是一些改进和修正,并包含一个安全更新,是一个推荐更新版本。

更新日志

* 默认模板渲染规则支持配置保持操作方法名
* 改进`Request`类的`ip`方法
* 支持模型软删除字段的默认值定义
* 改进路由变量规则对中文的支持
* 使用闭包查询的时候使用`cache(true)` 抛出异常提示
* 改进`Loader`类`loadComposerAutoloadFiles`方法
* 改进查询方法安全性
* 修正路由地址中控制器名驼峰问题
* 调整上一个版本的`module_init`和`app_begin`的钩子顺序问题
* 改进CLI模式下运行的问题
* 修正社区反馈的其它问题

升级指导

从`5.1.8`(包括之前版本)升级到`5.1.9`的时候,请注意如下事项:

下面方式的数组条件查询不再使用索引数组// 错误
$where['name'] = ['name', 'like', 'think'];
// 正确
$where[] = ['name', 'like', 'think'];
但对于基本条件查询不受影响// 正确
$where['name'] = 'think';
如果数组查询条件中使用了`exp`查询,必须做出如下调整:// 错误
$where[] = ['id', 'exp', '>score'];
// 正确
$where[] = ['id', 'exp', Db::raw('>score')];
表达式查询方式不受影响。

如果你使用了闭包查询条件,并且使用了默认的查询缓存cache()或者cache(true),新版本会抛出异常,请改为cache('key') 避免因为查询缓存无效而影响业务。

另外可能不影响但推荐使用的建议: `order/field/where`方法如果使用字符串参数并涉及到SQL函数的,推荐使用`orderRaw/fieldRaw/whereRaw`方法,或者对传入的字符串参数使用`Db::raw()`方法。

更多参考:完全开发手册

ThinkPHP官方小组
2018-4-12
最佳答案
评论( 相关
后面还有条评论,点击查看>>