ThinkPHP V5.0 ——为 API 开发而设计的高性能框架

V5.0 版本由七牛云独家赞助发布
5.0.5 版本是年前最后一次发布版本,也是 5.0 系列的最后一个功能版本。
主要调整:
本次更新主要改进了数据访问层和模型关联:
- 增加快捷查询及设置方法;
- 增加关联统计功能;
- 增加关联查询延迟预载入功能;
- 增加关联一对一自动写入和删除;
- 改进存储过程查询;
- 改进关联数据输出;
- 优化查询性能;
- 模型时间字段自动格式化输出;
[请求和路由]
- 改进路由定义的后缀检测
- Route 类的
rest方法支持覆盖定义 - 改进 Request 类的
put和post方法对json格式参数的接收 - Request 类增加
contentType方法 - 改进 Route 类
setRule方法 - 改进 Request 类的
create方法 - 改进路由到控制器类的方法对默认渲染模板的影响
- 修正 Url 类
build方法定义路由别名后的 BUG
[数据库和模型]
- 增加关联统计功能
- 增加一对一关联自动写入功能
- 修正聚合模型的
delete方法 - 改进 Model 类的
useGlobalScope方法 - Model 类的日期类型支持设置为类名
- Query 类增加
data/inc/dec/exp方法用于快捷设置数据insert和update方法参数可以为空 读取data设置数据 - 优化 Connection 的查询性能
- 修正 Builder 类的
parseOrder方法 - 修正 BelongsToMany 类的
attach方法 - BelongsToMany 类的
attach方法改进 支持批量写入 - 改进 BelongsToMany 类的
saveall方法 增加第三个参数 用于指定额外参数是否一致 - Query 类的
order方法支持多次调用合并 - 改进
count方法对group查询的支持 - 增加时间戳自动写入的判断
- 改进 Model 类
writeTransform方法 - 改进 Model 的时间戳字段写入和读取
- 写入数据为对象的时候检测是否有
__toString方法 - 改进 Mysql 驱动的
getFields方法 - 改进自动时间字段的输出
like查询条件支持数组- 自动时间字段的获取自动使用时间格式化
- 改进单个字段多次 Or 查询情况的查询
- 修正
null查询的条件合并 - 改进 Query 类
paginate方法第一个参数可以使用数组参数 - 改进数据集对象的返回,由 Query 类的 select 方法进行数据集转换,原生查询不再支持返回数据集对象
- 增加
whereNull、whereIn等一系列快捷查询方法 fetchPdo方法调整- 改进对存储过程调用的支持 改进
getRealSql的调用机制 改进数据表字段使用中划线的参数绑定支持 - 数据库配置参数增加
result_type用于设置数据返回类型 方法参数名称调整 - 改进 Query 类的
whereTime方法支持更多的时间日期表达式(默认查询条件为大于指定时间表达式) - 取消
min/max/sum/avg方法的参数默认值 - Query 类增加
getPdo方法用于返回PDOStatement对象 - 改进
today的日期表达式查询 - 改进关联属性的获取
- 改进关联定义中包含查询条件后重复执行的问题
- 改进参数绑定支持中文字段自动绑定
- 改进 Builder 类的
insertall方法 增加对 null 和对象数据的处理 - 改进参数绑定类型 支持
bit类型自动绑定 - Connection 类
model方法更改为getQuery - 优化 Connection 类
__call方法 - 修正聚合模型
- 一对一关联预载入默认改为 IN 查询方式
- 增加
collection助手函数用于数据集转换 - 增加
load_relation助手函数用于数组的延迟预载入 - 改进 Model 类的
has方法第二个参数支持使用数组和闭包,无需再使用hasWhere relation方法支持嵌套关联查询- 增加
think\model\Collection作为模型的数据集查询集合对象 - 取消关联定义的
alias参数(仅morphTo保留) - Model 类的
delete方法,支持没有主键的情况 - Model 类的
allowField方法支持逗号分割的字符串 - 改进写入数据的自动参数绑定的参数名混淆问题
- 关联预载入查询的属性名默认使用小写+下划线命名
- Query 类的
with和relation方法支持多次调用 - Collection 类增加
hidden、visible和append方法 - 修正软删除的强制删除方法
[其它]
unique验证规则支持指定完整模型类 并且默认会优先检测模型类是否存在 不存在则检测数据表- 改进
Loader类的model、controller和validate方法 支持直接传入类名实例化 Session类增加安全选项- 可以允许自定义
Output的 driver ,以适应命令行模式下调用其它命令行指令 - 改进
loader类action的参数污染问题 - Validate 类的
confirm验证改为恒等判断 - 改进
Validate类的错误信息处理 - 修正
Validate类的布尔值规则验证 - 改进
cookie助手函数对前缀的支持
[调整]
- Connection 类
model方法更改为getQuery - 原生查询不再支持返回数据集对象
文档
官方开发手册已经同步更新到 V5.0.5 版本 [ 5.0 完全开发手册 | 5.0 快速入门系列 ]
下载
- GitHub : https://github.com/top-think/think.git (主要维护仓库 官方核心团队)
- Composer : composer create-project topthink/think tp5 --prefer-dist
捐赠我们

2017 年 1 月 23 日 ThinkPHP 官方团队