本次更新带来了核心框架和ORM的多项功能改进和问题修复,兼容PHP8.5版本,并进一步提升了框架的稳定性和开发体验。同时也给2025年的工作划上了一个完美的句号,期待新的一年更多的新特性。
核心更新
🚀 核心功能增强
-
Config类优化
-
改进hook方法,增加key参数支持
-
调整lazy方法实现,提升配置加载效率
-
路由系统改进
-
修正路由URL生成逻辑
-
路由绑定到命名空间支持控制器后缀
-
改进路由分组的URL有效性检查
-
优化路由中间件传参机制
-
请求响应优化
-
改进Request类功能
-
增强Response类send方法的异常处理能力
-
改进HttpEnd错误日志记录
🔧 兼容性与性能
-
PHP兼容性
-
缓存与日志
-
改进Redis缓存驱动性能
-
优化日志文件删除顺序
-
提升日志处理效率
🛠️ 开发工具增强
-
新增命令行工具
-
代码质量
-
优化 PHP CS Fixer 配置规则
-
提升代码规范性和可维护性
ORM更新
同时我们也给ThinkORM4.0带来了大量的优化和改进。
性能优化
-
引入LazyCollection惰性数据集,大幅减少内存占用
-
chunk
方法使用lazy重写,提升大数据量处理性能
-
关联预载入查询使用cursor减少内存开销
-
改进lazy方法对distinct的处理
-
改进toarray方法的append处理,支持relation.attr方式
-
优化Json字段解析效率
-
LazyCollection
类增加page方法简化数据处理
-
改进cursor方法支持关联查询
-
改进关联预载入查询的limit方法
-
优化PDOConnection类query和execute方法,不依赖Query
视图模型功能完善
-
完整的视图模型生命周期支持(查询、验证、写入)
-
支持自动关联查询和写入
-
独立的查询范围和搜索器
-
JSON字段映射和类型转换
-
视图模型支持update和create方法调用并返回当前视图模型
-
视图模型增加clear、reflesh、validate、data等方法
-
视图模型默认支持写入,除非readonly为true(原allowWrite参数废弃)
-
改进视图模型的自动关联查询,不依赖autoMapping定义,会自动检测关联映射
-
优化视图模型的查询条件处理,可以自动根据视图模型的属性查询,会自动关联查询
-
视图模型查询排序字段支持映射
-
改进视图模型多级子关联映射问题
-
改进视图模型的嵌套关联数据写入
-
改进视图模型的获取器调用
-
改进视图模型支持基础类参数定义
-
改进视图模型的data方法支持原有属性和传入对象
-
改进视图模型的一对多关联写入
-
改进视图模型的create、update、save、saveAll等方法
-
改进视图模型的自动数据验证,支持字段映射
-
视图模型增加validate_mapping_data配置,用于设置是否验证映射后的数据
数据库连接增强
关联查询功能增强
模型功能增强
-
模型增加scene方法,用于设置自动验证的场景
-
模型和实体模型增加基础配置定义方法getBaseOptions()
-
模型增加setAttrs、getAutoInc等方法
-
改进模型的suffix方法调用处理
-
调整getPk方法支持没有主键的表
-
模型类和数据集对象增加toView方法
-
改进autoWriteData方法对于手动写入的自动写入时间字段不再生成
-
改进模型的destory方法增加together参数
-
改进Model类get方法
-
改进Model类__isset、__unset、__unserialize方法
-
去掉Model类的autoinc处理
-
改进实体模型和视图模型的newInstance和setModel方法
-
改进视图模型的clone、refresh方法
-
改进视图模型的查询字段自动识别
查询功能改进
问题修复
安装与升级
全新安装
composer create-project topthink/think tp
升级现有项目
composer update topthink/framework
注意事项
-
本次更新为常规维护版本,保持向下兼容
-
建议在测试环境中验证后再部署到生产环境
-
如遇到任何问题,请访问官方文档或提交Issue
致谢
感谢所有为ThinkPHP贡献代码的Tper们!是你们的支持让ThinkPHP框架不断进步,让开发变得更简单一直都是我们秉承的原则,官方计划在下一个版本引入一些更激动人心和增加开发体验的新特性。
官方资源
-
官方网站:https://www.thinkphp.cn
-
文档中心:https://doc.thinkphp.cn
-
社区论坛:https://bbs.thinkphp.cn
-
官方智能体:https://chat.topthink.com