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

来源: 投稿
作者: 流年
2024-11-26 10:21:00
AI总结

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

V8.1.0主要更新(新特性说明

  • 修复路由使用数组方式报错问题

  • 改进验证场景处理

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

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

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

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

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

  • 增加枚举类型验证

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

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

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

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

  • 配置增加获取器功能

  • 优化异常处理对json的判断

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

  • Validate增加acceptedacceptedIfdeclineddeclinedIfmultipleOf内置规则

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

  • 改进日志备份文件名规则

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

  • 优化路由调度

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

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

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

  • 调整invokeAfter位置

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

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

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

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

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

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

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

  • 增加Macroable方法注入功能

  • 改进缓存serialize/unserialize方法

  • 兼容PHP8.4

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

官方手册

官方文档 http://doc.thinkphp.cn 内容已经添加了8.1版本的支持
还可以通过ThinkPHP知识库 了解更多的使用技巧

官方服务

ThinkPHP官方生态服务由顶想云TOPThink Cloud)提供,为生态提供专业的贴心服务和价值之选,提供企业一站式数智化服务。

官方AI智能体服务ThinkChatThinkBot私有化部署服务上架宝塔Docker应用商店,支持宝塔一键部署。

ThinkPHP官方专家智能体,基于官方手册进行了一系列的数据训练和提示词设置优化,而且支持联网查询,可以为TP开发者提供更智能和更精准的问题解答和建议,比自己查手册更快,而且比较容易得到有效的答案,希望能帮到广大ThinkPHP开发者。直达链接

展开阅读全文
点击加入讨论🔥(4) 发布并加入讨论🔥
本篇精彩评论
祝贺新版发布!普大喜奔,ThinkPHP 越来越好用了~
希望下个版本能在注解上面有更多惊喜。目前路由规则要写到路由文件,校验规则要写到校验文件,文件切来切去的,开发和维护都有点麻烦,希望这两项配置可以融合到控制器的注解中,这样就能在控制器文件中直接配置注解路由和注解校验,开发起来更高效,维护起来更简单。
现在是有注解路由了,但是需要另外安装 think-annotation 扩展,希望注解路由直接集成到框架,开箱即用。

期望的控制器代码大概就这样子,这样就不用在控制器文件、校验文件和路由文件中来回查找切换了。规则配置类的内容,都用注解来处理,开发起来就更敏捷了。
#[Validate('page', 'number')]
#[Validate('info.*.email', 'email')]
#[Route("GET", "/index")]
function index(Request $request){ }

个人想法,也不知道好不好实现,给作者添麻烦了,感谢作者提供这么好的国产 PHP 快速开发框架!
2024-11-26 20:26
2
举报
本来think-annotation就是解决这个问题的 至于是否内置其实没有本质的区别,很多用户并不需要,本来框架就是一个各种组件的组装和依赖
2024-11-27 11:22
1
举报
简单开发效率高,做项目一直用,支持
2024-11-26 15:02
1
举报
4 评论
0 收藏
分享
AI总结
返回顶部
顶部