v6.0.0-rc3
版本发布时间: 2019-06-03 16:31:57
top-think/think最新发布版本:v8.0.0(2023-06-30 20:50:16)
RC3版本主要改进和优化了系统内置中间件,改进了一些用法和体验,并且把不常用的驱动移出核心改为扩展方式提供。
主要新特性
- 增加
whereWeek
日期查询 - 自增ID获取支持类型自动转换
- 当前请求记录匹配路由规则
- 增加
requireWithout
验证规则 - 优化路由ext和name方法以及URL生成
- 增加项目自定义类
- URL生成使用对象方式操作
- 修改器改进
-
dump
/halt
助手函数调整支持输出多个变量 - 关联自动更新
- 模型数据集增加
delete
和update
方法 - 模型支持表后缀以及动态切换
- 注解路由支持给某个路由指定所属分组
- 多语言支持分组定义
- 支持自定义加载语言文件
- 多语言定义支持YML格式
- 缓存标签改进
- 缓存类增加
push
方法 - Cookie保存时间支持DateTimeInterface
- 增加表单令牌中间件
- 控制器支持__call方法
- 增加
deny_app_list
配置参数 - 控制器中间件only和except定义不区分大小写
-
app_map
支持指定泛应用映射
问题修正
- 修正参数绑定的浮点型精度问题
- 修正软删除
- 修正模型的数据库连接
- 修正
RedirectResponse
- 修正Session类
flush
方法 - 修正JSON字段参数绑定
- 修正
make:controller
指令生成 - 修正Cache类的
get
方法默认值 - 修正域名绑定
- 修正关联模型的动态获取器
- 修正模型
dateFormat
属性方法 - 修正url生成对多入口的支持
- 修正ini配置文件格式的布尔值转换问题
- 修正路由延迟解析全局配置无效的问题
- 修正路由缓存问题
- 修正关联
update
操作 - 修正
Relation::$selfRelation
默认为null
,导致Relation::isSelfRelation()
方法报错 - 修正
redis
缓存驱动 - 修正事件智能订阅
observe
方法 - 修正模型字段定义对日期查询无效的问题
- 修正Console类
getNamespaces
方法 - 修正
where
查询方法传入Query对象的时候缺少bind
数据的问题 - 修正request类
method
方法 - 修正
route:list
指令 - 修正
Collection
类load
方法 - 修正
redis
驱动的端口类型 - 修正
session
数据序列化使用JSON处理的问题 - 修正分组路由合并解析
- 修正模型的
hidden
方法隐藏关联模型的问题 - 修正关联查询关联键为空的错误
- 修正返回204状态码的响应判断
- 修正
Request
类has
方法对env
和session
的支持 - 修正
provider.php
文件无效问题 - 修正关联查询的部分问题
- 修正validate助手函数支持指定验证器类
- 修正验证类
getValidateType
方法 - 修正入口单独开启调试模式
- 修正加载Composer应用
用法调整
- 页面trace中间件仅在调试模式有效
-
Socket
日志驱动移出核心 -
PostgreSQL
、Sqlite
和SqlServer
驱动移出核心 ,改为扩展 - 取消内置
think\Controller
基类 -
Yaconf
支持移出核心 纳入扩展think-yaconf
- 字段排除改为
withoutField
方法 - 取消
useGlobalScope
方法增加withoutGlobalScope
方法 - 更改默认生成的中间件位置
- 加载默认语言包无需开启多语言中间件
-
Cookie
类恢复get
和has
方法支持 -
token
助手函数调整 - 全局请求缓存参数调整
- 统一中间件调用传参,不支持
:
分割传参 - 缓存数据统一进行序列化后存储
- Cache类rm方法更改为delete方法
- validate助手函数返回Validate对象实例,参数改变
废弃用法
- 取消多语言的
auto_detect
配置 - 取消
session
类的auto_start
配置参数和boot
方法 - 废弃
Where
数组对象查询 - 取消模型事件观察者
- 取消
JumpResponse
及success
/error
/result
等方法和助手函数 - 取消表达式查询解析扩展及
think\db\Expression
类 - 废弃模型自动完成功能,使用模型事件替代
- 取消
cookie
的prefix
参数 - 取消一系列不推荐使用的助手函数
- 取消
optimize:facade
optimize:model
指令 改为扩展方式 - 取消命令行执行URL
- 删除
Config
类__get
和__isset
方法