ThinkPHP5.0版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,不适合原有3.2项目的升级,请慎重考虑商业项目升级,但绝对是新项目的首选(无论是WEB还是API开发)。
为了追求更完美和更简单的开发,V5.0.1版本修正了一些社区反馈的问题,并增加了一些令人愉悦的新特性。
主要调整
依赖注入完善;
扩展配置文件位置调整;
新增数据表字段缓存命令;
支持设置当前的查询对象;
支持请求和路由缓存;
支持ThinkPHP5的用户请到 Github 给我们一个`star` ^_^
从V5.0升级到V5.0.1
从V5.0升级到V5.0.1需要注意如下事项:
扩展配置参数extra_config_list废弃,除了数据库配置之外的扩展配置放入application/extra目录自动识别加载;
模型的field属性无需配置字段类型;
查询构建器使用手动参数绑定的时候不要使用?号占位绑定,使用命名参数绑定;
文件File类取消md5()和sha1()方法,请使用hash(‘md5′)和hash(‘sha1′)方法替代;
版本更新日志
V5.0.1版本相对于5.0版本,更新如下:
[ 请求和路由 ]
改进Controller类的success和error方法的跳转地址识别 支持更多Scheme
操作方法和架构方法支持任何对象自动注入
Requesst类增加getInput方法 用于获取php://input值
路由到方法的时候 支持架构方法注入请求对象
改进Route类路由到类的判断
Request增加cache方法,支持请求缓存
绑定到模块后 路由依然优先检查
路由增加请求缓存参数
修正路由组合变量的可选变量的BUG
[ 数据库 ]
修正pgsql数据库驱动的数据表字段信息读取
改进Query类的view方法 第二个参数默认值更改为true 获取全部的字段
数据库配置信息增加query参数用于配置查询对象名称
型类增加query属性用于配置模型需要的查询对象名称
改进数据表字段缓存读取
改进数据表字段缓存生成 模型为抽象类或者 没有继承Model类 不生成字段缓存
改进模型的字段缓存 虚拟模型不生成字段缓存
改进数据表字段缓存生成 支持读取模块的模型生成
改进聚合模型的save方法 主键写入
模型类的field属性定义简化 取消Query类的allowField和setFieldType方法及相关属性
改进数据表字段缓存生成 支持生成多个数据库的
更新数据库驱动类 改进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类的md5和sha1方法 改为hash方法 支持更多的散列值类型生成
增加response_end行为标签
改进默认语言的加载
[ 文档 ]
官方手册已经同步更新到V5.0.1版本
[ 下载地址 ]
官网:核心包
GitHub: https://github.com/top-think/think.git (主要维护仓库 官方核心团队)
Composer: composer create-project topthink/think tp5 –prefer-dist
码云地址:应用仓库 http://git.kejianet.cn/liu21st/thinkphp5 核心仓库 http://git.kejianet.cn/liu21st/framework
[ 扩展包 ]
下面是针对ThinkPHP5的扩展包 需要使用Composer安装
应用单元测试:https://github.com/top-think/think-testing.git
验证码:https://github.com/top-think/think-captcha.git
图像处理:https://github.com/top-think/think-image.git
队列:https://github.com/top-think/think-queue.git
MongoDb支持:https://github.com/top-think/think-mongo.git
angular模板引擎:https://github.com/top-think/think-angular.git
助手库:https://github.com/top-think/think-helper.git
数据库迁移工具:https://github.com/top-think/think-migration.git