首页>资讯>游戏攻略 > ThinkPHP6.0完全开发手册 更新日志

ThinkPHP6.0完全开发手册 更新日志

时间:2024-07-23 07:59:36

版本更新日志

V6.1.4(2023年7月12日)

V6.1.3(2023年5月22日)

V6.0.15(2023年5月22日)

V6.1.2(2023年2月10日)

V6.1.0(2022年10月26日)

V6.0.14LTS(2022年10月26日)

V6.0.13LTS(2022年7月15日)

V6.0.12LTS(2022年1月21日)

V6.0.11LTS(2022年1月5日)

V6.0.10LTS(2021年12月31日)

V6.0.9(2021年07月22日)

V6.0.8(2021年04月26日)

V6.0.7(2021年01月25日)

V6.0.6(2021年01月11日)

V6.0.5(2020年10月27日)

V6.0.4(2020年9月28日)

V6.0.3(2020年6月25日)

V6.0.2(2020年1月13日)

V6.0.1(2019年12月24日)

V6.0.0(2019年10月24日)

RC5(2019年10月13日)

RC4(2019年8月16日)

RC3(2019年6月3日)

RC2(2019年4月22日)

RC1(2019年2月14日)

V6.1.4(2023年7月12日)

修复PHP错误中止时,日志没有写入、中间件end回调没有执行

修正路由分组合并检测

改进文件缓存锁机制

修正php think optimize:schema指令当模型存在子目录的错误

V6.1.3(2023年5月22日)

主要改进了路由以及Session有效期。


改进ResourceRegister支持更多路由参数设置

改进资源路由注册类

改进RedirectResponse

改进跨域路由

改进自动options路由

options请求默认支持跨域

修正miss路由

完善session有效期问题

V6.0.15(2023年5月22日)

主要对PHP8.2做了兼容处理,以及支持最新的ThinkORM3.0。


兼容PHP8.2

调整url build方法

支持使用ThinkORM 3.0版本

修正session有效期问题

V6.1.2(2023年2月10日)

本版主要更新


兼容PHP8.2

移除基础类中Filesystem申明属性

fix: container绑定参数时可变参数处理

File类增加setExtension方法设置保存文件的实际后缀名

ValidateRule注释调整

Fix: 参数类型为多个时导致的报错

更新think-orm版本依赖支持3.0

V6.1.0(2022年10月26日)

本版本主要更新:


移除核心对think-filesystem库的依赖

V6.0.14LTS(2022年10月26日)

本版本主要更新如下:


删除废弃方法

优化多语言检测

修正命令行模式下的默认request

V6.0.13LTS(2022年7月15日)

本版本主要更新如下:


改进Request类filterValue方法的兼容性

更新 prettify.js 为新的 cdn 地址

FIX:remember缓存读取问题修复

优化IDE支持

Redirect remember 支持完整url设置

调整路由初始化位置

Bugfix: 修复 PSR-7 Response 用法

Fix switchLangSet missing setLangSet (#2705)

兼容 PHP 8.1

Windows环境下文件访问地址不正确

修复传空值被忽略的情况

优化 IDE 支持,忽略 zend studio 的无关文件

增加 HEAD 路由支持,可以用来做健康检测 head /health

V6.0.12LTS(2022年1月21日)

本版本主要完善了命令行对PHP8.1的支持,并增加了路由的闭包检测机制。


主要更新

改进缓存驱动unserialize方法参数类型限制

优化代码使IDE友好

修正命令行对PHP8.1的兼容性

路由增加闭包检测有效性

ThinkORM主要更新包括:

完善sqlite驱动

修正Fetch类

改进多对多关联

添加数据写入对对象值的判断处理

改进一对一关联写入

一对一关联查询绑定属性调整

改进远程一对多关联查询

优化模型数据处理

V6.0.11LTS(2022年1月5日)

修正ENV读取问题

V6.0.10LTS(2021年12月31日)

本版本主要添加了PHP8.1的兼容支持,以及ThinkORM的大量改进。


主要更新:

兼容PHP8.1

改进cookie跨域删除

改进多语言自动加载

改进url生成

Filesystem 增加url方法 获取文件访问地址

文件上传错误支持多语言

修正 make:controller 指令错误

发送cookie前先检查请求头是否已发送

改进多文件上传的文件hashName冲突问题

调整thinkPath路径赋值为真实绝对路径 以避免特殊环境潜在隐患

支持 psr7 response

控制器中间件支持动态参数

改进env文件解析

ThinkORM主要更新包括:

修正column方法

Db和模型增加filter数据处理机制

调整json处理

修正sqlite驱动lock

获取数据库字段类型不区分大小写

修正json方法

修正多对多关联中间表数据

修正多对多模型

改进db类hidden visible append 方法处理机制

改进关联的软删除查询

完善获取sql时的字符转义

V6.0.9(2021年07月22日)

本版本主要添加了事件监听的通配符支持,并修正了框架的一处可能的序列化漏洞,同时对模型做了一些改进和优化。


更新league/flysystem版本

事件监听支持通配符

支持时间字段的统一配置

改进Request类all方法

由于league/flysystem低版本存在漏洞,官方进行了安全升级,该修正使得框架的PHP版本依赖也提升到7.2+。


ThinkORM主要更新如下:


强化虚拟模型支持

改进模型事件和数据库事件

改进动态获取器处理

优化分页查询

改进聚合查询

关联增加withoutField方法

软删除destroy方法优化

V6.0.8(2021年04月26日)

本版本主要添加了多环境变量配置文件支持


增加LogRecord事件

消除Validate类某处类型声明警告

路由分组增加dispatcher方法,支持设置分组的调度

Request类增加all方法支持获取包括File在内的所有参数

改进环境变量定义支持多env文件读取

V6.0.7(2021年01月25日)

本版本主要针对上个版本做了一些路由修正,还意外收获了一些性能提升,是一个建议更新的版本。


修正Validate类的PHP8兼容性

改进redis驱动的append方法

修正路由匹配检测问题

优化路由变量正则规则生成

改进responseView的内容渲染

V6.0.6(2021年01月11日)

本版本更新为兼容PHP8.0版本,并做了一些的改进和优化。


兼容composer2生成配置文件

优化optimize:schema指令

增加socket-log 的 curl 超时设置

修正路由匹配

增加兼容PHP8处理

增加汉字识别匹配范围 支持部分生僻字正则

改进响应文件请求时的缓冲清除

资源路由支持设置变量规则

$request->ip() 方法兼容PHP8

修复验证器in、between方法,使用数组,功能异常

修正含有__make的类实例化后未执行invokeAfter的问题

修复命令行创建中间件命名空间无效 bug

V6.0.5(2020年10月27日)

本次更新为兼容Composer2.0做的特别更新版本,主要包含:


修正验证类append方法

改进缓存标签机制

改进闭包路由内使用request对象

改进文件缓存驱动

V6.0.4(2020年9月28日)

本次更新为常规更新,主要包含:


新增

[新增] 多语言支持解析json文件

[新增] 增加app.url配置 用于命令行下构建request

[新增] 模型类增加convertNameToCamel属性,支持数据格式转为驼峰命名输出

[新增] Relation类增加getForeignKey和getLocalKey方法

修正

[修正] 修复规则为空的bug

[修正] 修正请求缓存中间件

[修正] 改进验证的append方法处理造成多次验证的情况

[修正] 改进资源路由对路由到类的支持

[修正] 修正重定向路由的传参

[修正] 调整http初始化位置 防止容器绑定自身造成死循环

[修正] 改进Redis驱动select参数处理

[修正] 改进多对多关联查询

优化

[优化] 优化session文件缓存 path获取

[优化] 改进路由参数检测

[优化] 改进路由参数获取和变量检查

[优化] 路由的请求缓存可以通过request_cache_key配置参数关闭 便于开发模式

[优化] 调整路由配置载入位置

[优化] 改进路由缓存指令 取消opis/closure依赖

[优化] 改进路由的额外参数检测

[优化] 改进Config类的has方法判断

[优化] 改进参数绑定对Null值的支持

[优化] 改进when条件查询的闭包处理

[优化] 改进一对一关联查询对order排序的支持

V6.0.3(2020年6月25日)

本次更新包含一个调试模式的系统信息安全隐患修正,建议更新。


主要更新:

异常提取session数据时先判断是否使用了session

修正文件上传类

取消Event类withEvent方法

FileResponse支持是否强制下载设置

Request对象支持ArrayAccess接口

日志的时间记录增加微秒数据支持

调整 Validate场景执行优先级

优化App类getDefaultRootPath方法

修正全局中间件获取param参数的BUG

clear命令支持多层级目录

修正日志记录时区问题

修复助手函数public_path

中间件支持多个参数

路由检测严格按照路由定义的顺序执行

FileResponse增加是否强制下载文件选项

修复自定义命令别名比系统别名长导致报错问题

改进路由到视图的变量传递

允许路由到一个自定义调度类

完善路由单元测试

默认路由也支持自动OPTIONS请求

改进路由调度

改进host和port的获取支持代理

Request->port 的返回类型转化

改进模型生成模板

简化默认异常页面信息显示

数据库支持设置缓存store

改进optimize:schema指令

为清理指令添加仅删除过期文件的选项

请求缓存增加预检缓存配置 默认有效期1800秒

支持header方式自动侦测多语言

V6.0.2(2020年1月13日)

本次更新包含一个可能的Session安全隐患修正,建议更新。


主要更新:

改进设置方法后缀后的操作名获取问题

修正optimize:schema指令

修正Request类inputData处理

改进中间件方法支持传多个参数

修正sessionid检查的一处隐患

完善对15位身份证号码的校验

增加远程多对多关联支持

增加MongoDb的事务支持(mongodb版本V4.0+)

改进insertAll的replace支持

V6.0.1(2019年12月24日)

主要更新:

完善Request::withInput

修正Content-Type获取途径

改进 SocketLog 驱动

修正 ClientArg 获取途径

修复FileResponse的cookie空对象异常

支持渲染完整的异常链信息

异常页面支持折叠调用堆栈信息

改进异常响应时内容的一致性

改进Error控制器对数字访问的支持

修正redirect助手函数

memcached delete 支持 timeout

修正redis驱动

改进memcache驱动

改进容器类invokeMethod方法

使用新的数组语法替代list

缓存默认的序列化方法改为serialize/unserialize

Add Cookie SameSite(PHP>7.3)

扩展Socket驱动

修正异常页面的模板文件

事件监听去重

取消视图日志

修正验证jpg结尾的图片报错问题

改进Url生成

改进Url生成伪静态后缀设置false的情况

改进File类型session读取gzcompress问题

修复使用路由验证后路由变量丢失的问题

修正多应用下路由目录路径

修复 expand_level选项异常

改进Cache类remember方法对依赖注入的支持

防止因日志配置异常时陷入死循环

模型支持动态设置数据库连接

修正column方法的查询缓存问题

改进Query类的getAutoInc方法

改进模型更新条件获取

修正使用模型对象更改数据时忽略自定义的suffix和 connection参数

修正XA事务

规范column方法的查询

V6.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方法对自动多应用的支持