V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kancloud
V2EX  ›  PHP

ThinkPHPV5.0.5 版本发布——祝大家新春快乐,“鸡”祥如意!

  •  
  •   kancloud · 2017-01-23 14:37:50 +08:00 · 2861 次点击
    这是一个创建于 2656 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    V5.0 版本由七牛云独家赞助发布

    5.0.5 版本是年前最后一次发布版本,也是 5.0 系列的最后一个功能版本。

    主要调整:

    本次更新主要改进了数据访问层和模型关联:

    • 增加快捷查询及设置方法;
    • 增加关联统计功能;
    • 增加关联查询延迟预载入功能;
    • 增加关联一对一自动写入和删除;
    • 改进存储过程查询;
    • 改进关联数据输出;
    • 优化查询性能;
    • 模型时间字段自动格式化输出;

    [请求和路由]

    • 改进路由定义的后缀检测
    • Route 类的rest方法支持覆盖定义
    • 改进 Request 类的putpost方法对json格式参数的接收
    • Request 类增加contentType方法
    • 改进 Route 类setRule方法
    • 改进 Request 类的create方法
    • 改进路由到控制器类的方法对默认渲染模板的影响
    • 修正 Url 类build方法定义路由别名后的 BUG

    [数据库和模型]

    • 增加关联统计功能
    • 增加一对一关联自动写入功能
    • 修正聚合模型的delete方法
    • 改进 Model 类的useGlobalScope方法
    • Model 类的日期类型支持设置为类名
    • Query 类增加data/inc/dec/exp方法用于快捷设置数据 insertupdate方法参数可以为空 读取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 方法进行数据集转换,原生查询不再支持返回数据集对象
    • 增加whereNullwhereIn等一系列快捷查询方法
    • 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 类的withrelation方法支持多次调用
    • Collection 类增加hiddenvisibleappend方法
    • 修正软删除的强制删除方法

    [其它]

    • unique验证规则支持指定完整模型类 并且默认会优先检测模型类是否存在 不存在则检测数据表
    • 改进Loader类的modelcontrollervalidate方法 支持直接传入类名实例化
    • Session类增加安全选项
    • 可以允许自定义Output的 driver ,以适应命令行模式下调用其它命令行指令
    • 改进loaderaction的参数污染问题
    • Validate 类的confirm验证改为恒等判断
    • 改进Validate类的错误信息处理
    • 修正Validate类的布尔值规则验证
    • 改进cookie助手函数对前缀的支持

    [调整]

    • Connection 类model方法更改为getQuery
    • 原生查询不再支持返回数据集对象

    文档

    官方开发手册已经同步更新到 V5.0.5 版本 [ 5.0 完全开发手册 | 5.0 快速入门系列 ]

    下载

    捐赠我们

    2017 年 1 月 23 日 ThinkPHP 官方团队

    8 条回复    2017-01-26 23:55:00 +08:00
    imnpc
        1
    imnpc  
       2017-01-23 15:10:59 +08:00
    年前发布的最后版本 很不错 正在做项目中
    mateor95
        2
    mateor95  
       2017-01-23 15:16:33 +08:00
    可以可以, tp5 比 tp3 的提升不是一星半点,已经是天差地别了,正在用,就思想来说相比 laravel 也不差了。
    rxzxf1993
        3
    rxzxf1993  
       2017-01-23 15:24:59 +08:00
    不错不错
    ipoh
        4
    ipoh  
       2017-01-23 16:18:34 +08:00
    感觉是来化缘的
    开玩笑:)
    qa2080639
        5
    qa2080639  
       2017-01-23 16:32:58 +08:00
    支持 减少很多代码量
    zooandzoo
        6
    zooandzoo  
       2017-01-23 17:34:01 +08:00
    不错,一直用 thinkphp
    changwei
        7
    changwei  
       2017-01-24 03:01:01 +08:00
    哇,又发布新版本了,可惜已经有一段时间不写 php 了。有空再看看
    jhdxr
        8
    jhdxr  
       2017-01-26 23:55:00 +08:00
    扫了一眼更新日志,
    『取消 min/max/sum/avg 方法的参数默认值』
    这种 bc break 的改动放在小版本更新里大丈夫?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2101 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:42 · PVG 09:42 · LAX 18:42 · JFK 21:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.