框架更新日志记录
框架更新日志记录
版本更新日志
6.0.0(2019年10月24日)
主要更新日志
mobile 验证简化
控制器中间件支持传参
增强中间件CheckRequestCache的实用性
改进容器invokeClass方法异常处理
控制器中间件过滤条件支持字符串
改进Route类getDomainBind方法
防止路由标识生成URL时生成空字符串
让中间件CheckRequestCache只访问一次临界区
完善命中判断
修正Request::port返回类型
增强高并发下session_id生成的唯一性
取消路由缓存功能及相关指令
修正 Request::remotePort 返回类型
完善跨域中间件的响应头部
改进容器异常处理
改进生成文件模板
移除build指令纳入扩展
改进Response增加cookie方法用于设置Cookie
修正生成URL不传参数时,方法名为空
修复中间件CheckRequestCache使用过期数据
修复memcache驱动inc函数重复添加前缀问题
删除Resonse类setCookie方法
使用session_create_id生成id,保证唯一性
修复中间件FormTokenCheck无法启用问题
修正halt助手函数
RC5(2019年10月13日)
RC5版本主要改进包括多应用模式独立,以及中间件机制调整。
主要新特性
多应用模式独立为扩展
中间件分组执行
增加路由配置文件的全局中间件定义
中间件支持优先级定义
中间件支持请求结束回调
中间件执行去重
模板根目录免配置自动识别
改进智能事件订阅
页面Trace独立为扩展
更新日志
修正request类isJson方法
提升swoole下多应用的性能
修正Cookie保存
改进字段缓存指令
修正路由正则生成
改进模板变量的全局赋值
改进filesystem
改进View 增加单元测试
修正php模板驱动
取消view_base配置,增加view_dir_name配置
完善Session及其单元测试
改进session助手函数支持获取所有数据
完善中间件及其单元测试
改进事件智能订阅
验证错误信息支持数组
改进多语言自动侦测
改进自动多语言
改进事件观察者支持事件前缀
去除Cache返回类型限制
多应用配置读取优先级调整
多应用路由改进
改进批量验证的错误信息返回
页面Trace中间件移除 改为扩展
改进session初始化中间件
修正默认URL访问修正url生成对域名绑定的支持
改进中间件机制 全局、路由和控制器中间件分开
调整
获取当前应用名改为app('http')->getName()
RC4(2019年8月16日)
RC4版本主要改进包括ORM库独立,日志系统增加多通道支持,缓存、日志、数据库的配置文件统一调整为多通道模式,并作了大量的改进和修正。
主要新特性
数据库和模型改为独立的think-orm库
模型关联功能增强
日志支持多通道、并统一命令行和WEB日志格式
增加Filesystem组件
增加容器对象实例化回调机制
路由注解独立为think-annotation库
多应用模式下路由定义支持纳入应用目录
功能改进
改进路由类的配置读取
改进parseLike查询
改进ViewResponse类增加内容渲染输出支持
增加display助手函数
验证类maker方法支持注入扩展验证规则
改进事件触发的对象传入
改进Console/Table类
改进关联定义对查询构造器的支持
关联类增加withField和withLimit方法,并取消Query类withField方法
增加延迟关联查询对withLimit的支持
改进模型toArray方法
改进Url生成的域名参数
改进 make:command指令生成
缓存有效期支持DateInterval
改进Query类find方法
改进json查询
改进查询缓存
增加filesystem组件
改进跨域请求
改进路由检测缓存配置
改进注解路由的文件写入
路由注册支持注册options请求类型
改进重定向路由检测
改进模型的hasWhere方法对闭包查询条件的支持完善
增加time_query_rule数据库配置参数 用于自定义时间查询规则
改进时间字段类型的自动识别
改进redis驱动
容器对象增加invoke回调机制
改进多对多关联
资源路由增加withModel和withValidate对各个路由设置不同的模型绑定和验证
改进getLastInsID方法
日志类调整 支持多通道写入
改进模型输出
支持单独关闭某个通道的日志写入
取消部署模式下 不写入调试日志的功能 用调试级别设置单独的日志渠道来替代
改进日志记录格式
支持日志输出格式化
改进资源路由
改进命令行日志实时写入
日志通道支持单独设置level配置参数
Log类调整优化
增加paginateX查询用于大数据分页查询
数据集增加first和last方法
改进response/View类的assign方法
改进请求参数获取问题
改进pathinfo方法
增加一些路径助手函数
改进多级控制器访问
Log类支持__call方法
多应用模式的路由定义支持放入单独的应用目录
模型增加依赖注入支持
改进模型事件
改进页面Trace机制
改进validate助手函数,支持设置验证失败后是否抛出异常
改进容器bind方法
改进Redis Session驱动
改进日志记录的空行问题
改进RedirectResponse
改进缓存驱动
改进think optimize:schema 指令
Url类增加https方法
改进isPjax判断
改进Db类配置获取
问题修正
修正模型属性获取
修正Request类的过滤功能
修正subDomain方法
修正input助手函数
修正模型refresh方法
修正关联统计不使用子查询的方式
修正Request类root方法
修正缓存有效期处理
修正MorphTo关联
修正缓存标签
修正mysql驱动insert方法
修正Db类connect方法
修正allowCrossDomain方法
修正Query类chunk方法
修正分组跨域
修正关联预载入查询
修正时间字段写入
修正验证类checkSize
修正多对多关联闭包修正RuleName类setRule方法
修正whereTime查询
修正request助手函数
修正日志关闭配置
修复对多字节字符的兼容性
用法调整
模型切换后缀方法switch更改为suffix
取消Query类的fetchArray方法
select查询方法默认返回数据集对象
取消optimize:config指令
调整数据库和缓存配置文件格式 默认采用多类型支持 方便切换
Cache类的init和connect方法取消 并入store方法
cache助手函数调整
cache助手函数取消初始化用法
cache助手函数留空返回Cache对象
调整调试模式检测位置
默认时间字段类型改为timestamp
取消Model类getConnection和setConnection方法
注解路由移出核心,注解相关功能使用topthink/think-annotation
改进路由 取消url_convert配置参数
取消route:build指令
调整默认模板目录为根目录view
取消默认的请求日志记录 在项目里面自己添加
统一find查询必须使用查询条件
扩展的service配置文件默认放到vendor目录下
废除LogLevel事件
取消App类的序列化方法
控制台的user配置改为通过静态方法设置当前执行用户
RC3(2019 年 6 月 3 日)
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:facadeoptimize:model指令 改为扩展方式
取消命令行执行URL
删除Config类__get 和 __isset 方法
RC2(2019 年 4 月 22 日)
相比较RC1版本更新调整较大,主要更新如下:
底层架构针对协程做优化调整
增加WEB应用管理类Http
增加应用初始化服务和服务注册机制
查询事件和模型事件使用事件系统接管
Session类重构,不再使用PHP内置会话
Cookie类仅支持设置和写入,不再支持读取
取消Config类的动态设置功能
部分核心功能中间件化(页面Trace、多语言、请求缓存和Session初始化)
取消惯例配置文件
增加驱动接口规范驱动开发
改进Db类和查询类
精简一些不必要的类库
改进路由注册
由于异常的需要View类改为内置,但默认仅支持原生PHP模板
大量细节改进和修正
RC1版本( 2019 年 2 月 14 日)
改进Url类build方法
修复获取当前页码数据类型
修正parseKey方法传入数值的情况
改进optimize:config指令对declare申明的支持
取消URL参数模式配置
增加optimize:facade指令用于生成facade类的方法注释
取消Query类的extend方法
原来的Expression类更改为Raw类
增加新的Expression类用于表达式查询扩展
Collection类增加whereLike/whereNotLike/whereIn/whereNotIn/whereBetween/whereNotBetween等快捷方法
Query类的raw方法移动到Db类
取消Request类的hook方法
修正Route::view方法
优化模型获取器方法
多对多关联的pivotDataName方法更名为name方法
Query类增加partition/duplicate/extra方法
改进mysql驱动支持分区和duplicate以及额外参数
mysql驱动的insert方法改用更清晰的insert set语法
修正Event类bind属性定义
修正验证类的append一处bug
改进Query类update方法支持读取模型的更新条件
取消模型类的getUpdateWhere方法统一使用getWhere方法
改进query类的fetchArray方法处理
改进路由类取消app属性
增加think\facade\RuleName类
增加whereFieldRaw查询方法
改进自动多应用名称获取
App类增加withEvent方法支持关闭事件机制
改进Dispatch类对var_dump的支持
改进hasMany的withCount自关联
修正纯数字检测参数类型转换问题
修正raw助手函数
mysql支持find_in_set查询
改进url方法对自动多应用的支持