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

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

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

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

    为了追求更简单的开发,我们一直在努力! 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   ·   我们的愿景   ·   实用小工具   ·   1037 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:31 · PVG 03:31 · LAX 12:31 · JFK 15:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.