ThinkPHP 发布 V5.0.1 版本小版本大更新 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kancloud
V2EX    PHP

ThinkPHP 发布 V5.0.1 版本小版本大更新

  •  
  •   kancloud 2016-09-28 13:36:42 +08:00 3837 次点击
    这是一个创建于 3309 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ThinkPHP5.0 版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的 PHP 新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持 composer ,并针对 API 开发做了大量的优化,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,不适合原有 3.2 项目的升级,请慎重考虑商业项目升级,但绝对是新项目的首选(无论是 WEB 还是 AP 开发)。

    为了追求更简单的开发,我们一直在努力! V5.0.1 版本修正了一些社区反馈的问题,虽然只是个小版本更新,但增加了一些令人愉悦的新特性。

    [ 更新 ]

    主要调整:

    • 依赖注入完善;
    • 扩展配置文件位置调整;
    • 新增数据表字段缓存命令;
    • 支持设置当前的查询对象;
    • 支持请求和路由缓存;

    相对于 5.0 版本,更新日志如下:

    [ 请求和路由 ]

    • 改进 Controller 类的successerror方法的跳转地址识别 支持更多 Scheme
    • 操作方法和架构方法支持任何对象自动注入
    • Requesst 类增加getInput方法 用于获取php://input
    • 路由到方法的时候 支持架构方法注入请求对象
    • 改进 Route 类路由到类的判断
    • Request 增加cache方法,支持请求缓存
    • 绑定到模块后 路由依然优先检查
    • 路由增加请求缓存参数
    • 修正路由组合变量的可选变量的 BUG

    [ 数据库 ]

    • 修正pgsql数据库驱动的数据表字段信息读取
    • 改进 Query 类的view方法 第二个参数默认值更改为 true 获取全部的字段
    • 数据库配置信息增加query参数用于配置查询对象名称
    • 型类增加query属性用于配置模型需要的查询对象名称
    • 改进数据表字段缓存读取
    • 改进数据表字段缓存生成 模型为抽象类或者 没有继承 Model 类 不生成字段缓存
    • 改进模型的字段缓存 虚拟模型不生成字段缓存
    • 改进数据表字段缓存生成 支持读取模块的模型生成
    • 改进聚合模型的save方法 主键写入
    • 模型类的 field 属性定义简化 取消Query类的allowFieldsetFieldType方法及相关属性
    • 改进数据表字段缓存生成 支持生成多个数据库的
    • 更新数据库驱动类 改进getTables方法
    • 增加optimize:schema 命令 用于生成数据表字段信息缓存
    • 修正一个查询条件多个条件的时候的参数绑定 BUG
    • 分页查询方法paginate第二个参数传入数字表示总记录数
    • 修正 mysql 的JSON字段查询
    • 改进 Query 类的 getOptions 方法 当 name 参数不存在的时候返回 null

    [ 模型和关联 ]

    • 模型类的 field 属性不需要添加字段类型定义
    • 改进 Model 类 添加getDb静态方法获取 db 查询对象
    • 改进聚合模型save方法返回值
    • 改进 Relation 类save方法
    • 修正关联模型 多对多save方法一处问题
    • 改进 Model 类的 save 方法 修正不按主键查询的更新问题
    • 时间字段获取器获取的时候为 NULL 则不做转换

    [ 其它 ]

    • 改进配置缓存生成 支持扩展配置
    • 取消extra_config_list配置参数 扩展配置文件直接放到 extra目录下面即可自动加载(数据库配置文件位置不变)
    • cache 助手函数支持判断缓存是否有效
    • 修正 模板引擎驱动类的config方法
    • 修复在配置 Model 属性 field=true 情况下,通过__call调用 db()引发的 BUG
    • 改进模板引擎驱动的 config 方法 支持获取配置参数值
    • 改进 redirct 的 url 地址解析
    • 删除File类的md5sha1方法 改为hash方法 支持更多的散列值类型生成
    • 增加response_end行为标签
    • 改进默认语言的加载

    [ 文档 ]

    官方手册已经同步更新到 V5.0.1 版本

    [ 5.0 完全开发手册 | 5.0 快速入门 ]

    [ 下载地址 ]

    [ 扩展包 ]

    下面是针对 ThinkPHP5 的扩展包 需要使用 Composer 安装

    2016 年 9 月 28 日 ThinkPHP 官方团队

    9 条回复    2016-09-29 12:24:46 +08:00
    kideny
        1
    kideny  
       2016-09-28 14:26:45 +08:00
    顶一个!
    zi
        2
    zi  
       2016-09-28 15:20:57 +08:00
    刚才 pull 了一下发现新 tag 5.0.1 ,原来作者也在 V2 发布了
    dsp2138
        3
    dsp2138  
       2016-09-28 19:39:24 +08:00
    官方手册是否有保留?
    还有弄一个收费的新手入门?
    kancloud
        4
    kancloud  
    OP
       2016-09-28 21:11:10 +08:00
    @dsp2138 有没有保留你看过就知道,完全开发手册向来是最全面的,而不能替代教程!快速入门仅针对不了解 TP5 或者 PHP 开发的用户 带有详细的示例和循序渐进的学习,就和很多框架的书籍一样。
    fortunezhang
        5
    fortunezhang  
       2016-09-28 22:19:13 +08:00
    我是来提问的:原来的 D 方法可以调用 Model 里面的方法,现在怎么调用?
    fvzone
        6
    fvzone  
       2016-09-29 05:36:14 +08:00
    和 laravel 像的不要不要的
    cnqncom
        7
    cnqncom  
       2016-09-29 10:36:24 +08:00
    呵呵,坐等国庆开始研究。
    kideny
        8
    kideny  
       2016-09-29 10:44:55 +08:00
    就算不用,也永远支持 thinkphp 。
    kancloud
        9
    kancloud  
    OP
       2016-09-29 12:24:46 +08:00
    @fortunezhang TP5 的 Db 就相当于原来的模型类 TP5 的模型类都是对象化操作 调用方法自然更简单
    @fvzone 大道至简 速途同归
    @kideny 非常感谢一如既往的支持 这也是我们不断完善的动力
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5465 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 01:19 PVG 09:19 LAX 18:19 JFK 21:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86