> Linux新闻 >

ThinkPHP 8.1.0 版本发布 —— 路由、验证改进及兼容 PHP 8.4

ThinkPHP V8.1 版本是一个大的改进版本,针对 V8.0 版本的一些不足进行了大量的完善,包含路由和验证方面的众多新特性,并提供对 PHP 枚举类的更好支持,同时兼容最新的 PHP8.4 版本。

V8.1.0 主要更新(新特性说明)
修复路由使用数组方式报错问题

改进验证场景处理

路由分组支持默认 URL 调度和绑定,并且不受强制路由影响

自动 URL 调度功能,支持多模块

资源路由支持扩展路由定义

支持多模块自动路由规则,并自动执行模块中间件

路由新增 when 路由变量验证方法

增加枚举类型验证

改进数组验证支持指定键名和支持多维数组验证

增加路由预定义变量规则 当变量规则为整数或浮点数的时候 自动转换类型

路由配置增加 action_bind_param 参数 设置操作方法的参数绑定方式

改成系统初始化阶段的异常处理

配置增加获取器功能

优化异常处理对 json 的判断

改进环境变量文件读取 支持公共环境变量文件

Validate 增加 accepted、acceptedIf、declined、declinedIf、multipleOf 内置规则

cookie 设置可以在当前请求生效

改进日志备份文件名规则

增加 withoutmiddleware 方法用于排除某个路由的中间件

优化路由调度

改进缓存反序列化的异常处理

改进验证异常类 增加 getKey 方法 获取错误字段名

改进依赖注入的对象默认值判断

调整 invokeAfter 位置

Request only 方法支持强制类型转换

优化验证类的验证规则判断

验证类支持使用 must 属性设置该验证类的必须验证字段 无论是否定义 require 规则

缓存增加 fail_delete 配置参数 用于在获取缓存发生异常的时候是否强制删除

缓存 get 方法 default 参数支持传入闭包

改进缓存 pull 方法判断,并增加 default 参数

优化智能事件订阅,提高事件响应效率

增加 Macroable 方法注入功能

改进缓存 serialize/unserialize 方法

兼容 PHP8.4

ThinkORM 方面也做了大量更新,具体可以参考 ORM 更新记录


(责任编辑:IT)