ThinkPHP 5.0 RC4版本

浏览:37623 最后更新:2016-09-15 13:10 分类:框架
ThinkPHP V5.0 RC4版本发布,该版本为最后一个RC版本,后续框架的更新包括测试完善、文档完善和扩展增强,不会改变核心已有的接口和方法,可平滑升级到最终的正式版本,支持新版的请到Github给我们一个star^_^

相对于RC3版本改进如下:

[ 主要更新 ]

[ 底层架构 ]
增加Request类 并支持自动注入
统一Composer的自动加载机制
增加Response类的子类扩展
增加File类用于上传和文件操作
取消模式扩展 SAE支持降权
优化框架入口文件
改进异常机制
App类输入/输出调整
单元测试的完美支持
增加新的控制台指令
取消系统路径之外的大部分常量定义
类库映射文件由命令行动态生成 包含应用类库

[ 数据库 ]

增加分表规则方法
增加日期和时间表达式查询方法
增加分页查询方法
增加视图查询方法
默认保持数据表字段大小写
数据缓存自动更新机制
完善事务嵌套支持
改进存储过程数据读取
支持设置数据库查询数据集返回类型

[ 模型 ]
增加Merge扩展模型
模型支持动态查询
增加更多的类型自动转换支持
增加全局查询范围
toJson/toArray支持隐藏和增加属性输出
增加远程一对多关联

[ 其它 ]
日志存储结构调整
Trace调试功能从日志类独立并增强
原Input类功能并入Request类
类库映射文件采用命令行生成 包含应用类库
验证类的check方法data数据取消引用传参
路由增加MISS路由规则
路由增加路由别名功能

[ 文档 ]

官方的5.0完全开发手册5.0快速入门持续完善中

[ 扩展包 ]

针对ThinkPHP5的扩展包 需要使用Composer安装
应用单元测试:https://github.com/top-think/think-testing.git
验证码:https://github.com/top-think/think-captcha.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

[ 更新记录 ]

[ 增加 ]
增加Request类
App类run方法传入Request对象 便于构造自己的Request对象
增加abort助手函数
增加配置目录常量 CONF_PATH 用于设置配置文件目录
增加database.auto_timestamp 配置参数用于配置是否需要自动写入时间戳字段
增加controller_auto_search配置参数用于设置URL解析支持自动搜索控制器
增加控制台入口文件console.php
增加了连接memcached时账号密码的属性
增加了模板 $Request. 特殊变量解析
增加了命令行类库映射文件生成
增加Merge模型类扩展
Model类增加toJson方法输出JSON字符串
Model的类型转换增加serialize类型
Model类的强制类型转换定义支持数组方式
Model类增加全局查询范围定义base
Model类增加hidden属性 支持输出数组和json的时候 隐藏个别字段
Model类增加append属性和append方法 用于toarray和tojson方法输出的时候 附加额外获取器属性
Model类增加动态查询调用支持
关联定义支持数据表别名定义
关联查询支持远程一对多关联
一对一关联定义支持指定 join类型 用于预载入查询
数据库连接参数增加sql_explain配置 用于配置是否需要分析SQL性能 默认关闭
数据库配置参数增加resultset_type 用于设置数据集的返回类型
Query类增加connect方法用于切换数据库
Query类增加数据分页输出方法
Query类增加view方法用于视图查询
Query类增加whereTime方法 用于日期表达式查询
Query类增加分表规则方法partition 支持不同的规则
Query类增加findOrFail selectOrFail快捷方法
Query类增加sequence方法 用于设置PGSQL自增序列名
Query类增加fetchClass方法用于指定返回数据集类型
Builder类增加时间日期查询分析
Controller和Model类增加failException方法 用于设置验证失败后是否抛出异常
Validate类支持静态调用 可用于单独的验证规则
Validate类增加file fileSize fileExt fileMime验证规则
添加validate助手函数 用于实例化验证器类
ViewResponse类增加getVars方法
Lang类增加has方法 增加核心中文语言包
Loader类改进 增加clearInstance方法 用于清除实例化对象单例存储
增加 console 命令 在程序内部直接调用
Cookie类增加has方法
支持关闭伪静态访问 设置url_html_suffix 为false
Controller类增加batchValidate属性 validate方法增加batch参数,用于设置是否批量验证
增加HTTP异常模板定义配置参数 http_exception_template
Response类增加getCode方法和getContent方法
日志Log类增加日志写入授权Key功能
Controller类架构方法增加request参数
控制器方法增加Request对象参数注入
路由参数增加merge_extra_vars参数 设置是否合并最后变量
添加表单请求类型伪装支持 默认变量为 _method
增加module_init标签位用于扩展
Config类增加Json配置驱动
视图驱动类增加exists方法用于判断模板文件是否存在
增加think\response\Xml 类和xml助手函数
增加think\response\View类 用于渲染模板响应输出
增加think\response\Html 类
增加view助手函数
添加未匹配路由的规则处理 支持路由分组
添加response助手函数
改进Config类支持配置CONF_EXT常量
增加File类 文件上传规则支持 sha1 和 md5文件散列值
支持自定义上传规则,并且支持闭包规则
添加Redis和Redisd 缓存驱动
增加Redis session驱动
db助手函数增加name参数
增加make:controller Console指令
增加optimize:autoload 指令 用于生成类库映射文件
增加build --module 模块名 方式生成默认模块目录
集合类 添加几个常用的数组方法

[ 修正 ]
修正RestController属性名错误
修正block标签嵌套不能解析的问题
修正scope方法$name参数传入array引起$names变量不存在的异常
修正Connection类的batchQuery方法
修正Loader类的addNamespaceAlias方法
修正Model类的saveall方法参数
修正Query类的gettableinfo方法
修正Cookie类的has方法
修正了Memcached关闭时调用的方法
修正路由分组的参数覆盖问题
修正开启url_common_param时,生成错误的URL
修正Controller类的display方法参数
修正Relation类的getRelationInfo方法
修正Route类的after_behavior和before_behavior行为调用
修改mssql数据库驱动
修正模型(Model)属性获取值时与Model类的方法冲突BUG fix #105
修正模板标签url
修正Route类的rescource方法
修正Query类的inserGetId方法
修正检测模板缓存是否有效方法bug
修正模型类的saveAll方法
修正异常模板
修正社区反馈的一些BUG

[ 改进 ]
Trace调试从Log类分离 支持浏览器Console调试和页面调试
Query类delete方法参数默认值为null 当参数为true的时候 表示强制删除数据
改进控制器类不存在的异常处理
改进关联预载入查询 两个相同模型查询的问题
改进Url类路由地址生成的匹配检测
Model类的allowField方法支持传入true 表示只允许写入数据表字段
改进lang类的detect方法
改进Loader类自动加载的文档定位
Route类的bind方法参数顺序调整 增加getBind方法用于获取绑定信息
改进TagLib类
标签库不区分大小写
改进Route类可选参数的完整匹配检测
改进Model类的relation方法
改进Loader自动加载 和composer类库的自动载入统一
改进Model类saveall方法的返回值 并增加replace参数
改进Query类的find和select方法的默认值
改进驱动命名空间检测
Model类saveall方法支持事务
改进Session类 去除active属性判断
改进Model类的save方法
Route类的after_behavior行为支持 多个行为执行
改进debug状态时console下异常的输出
改进数据库事务嵌套
改进Query类的column方法 支持 field和key相同的情况
改进Model类自动时间戳写入支持date字段类型
改进Query类的selectInsert方法 对 table参数的处理
Model类的json类型转换支持传入参数
改进预载入查询支持指定字段查询
Redirect增加获取跳转地址的方法
改进Connection类的getResult方法
Builder类的parseValue方法增加field参数
改进查询方法的SQL返回机制
改进Query类的value和column的缓存冲突问题
改进Error类的register方法
Model类save方法改进 支持replace 写入
改进Route类的alias方法 改进Url类生成支持路由别名
改进Route类 路由别名支持条件检测
改进Query类的getTableInfo方法 支持对表名的特殊字符定义
改进Model类的__isset方法 支持获取器判断
改进Builder类的insertAll方法 过滤非标量数据
改进Model类的JSON类型转换 支持非数组类型
改进Log类的getLog方法 支持获取某个类型的日志信息
改进Model类event方法
改进Query类的value方法 添加default参数 改进聚合查询方法
改进Route类 路由规则检测的时候去除开头的/
Model类的data方法支持设置某个属性的值
改进Validate类的unique规则 支持验证字段和数据表字段 分开
改进where和whereor闭包查询
改进template类对模板文件的解析
改进自动时间戳写入 支持单独关闭某个字段
改进Connection类的事务方法
改进Query类的lock方法 支持主从
改进Query类的chunk方法 支持参数绑定
改进Model类的修改器机制 增加 setAttr和 getAttr方法
改进Queery类 增加whereXor方法 去除 whereExist whereOrExist whereNotExist where… …
改进Relation类的getRelation方法 支持在关联定义方法中使用where条件或者其他的操作Query操作方法
改进Query类的find和select方法对cache的处理
改进路由解析的参数绑定
改进Model类的getPk方法
改进controller类的redirect方法和助手函数redirect
改进Connection类的getBindSql方法
改进禁用模块的判断 绑定的模块不受限制
改进Pgsql驱动
改进存储过程支持
改进Route类,支持分组名使用变量
改进Builder类对field字符串的空格支持
改进Query类的insertGetId方法 支持传入自增序列名
模板里发生异常时清空之前的输出
Model类的get和all方法支持直接使用数组条件查询
改进Model类的destroy方法 支持传入数组删除条件
改进Response类 支持扩展不同的输出类型
改进Route的请求类型参数 支持小写传入
Route类改进 支持在匹配到路由后 使用after_behavior支持路由规则重定向
Query类value和column增加对调用field链式操作方法的处理
改进Model类支持 按照查询条件 更新
改进主从数据库的事务支持
改进Query类find和select方法的缓存处理
query类增加insertGetId方法 模型类的save方法 新增的时候 返回自增id
改进where方法对原生条件的判断
改进where方法的原生sql条件 并且支持参数绑定
改进query类的聚合查询方法的返回值
改进Query类的column对没有查询到数据的处理
改进模型类对主键的自动读取
改进Query类的join方法
改进View类的instance方法 支持传入replace参数
改进Lang类 去除无用的 traits\model
改进View类engine方法 如果传入字符串 则表示模板引擎名称 模板引擎参数取默认值 增加 view_replace_str 配置参数… …
改进view类 调整模板引擎的配置参数定义和传入方式
改进对Page的解析位置
改进Model类的toArray方法 支持获取器读取输出
改进Validate类的uniuqe验证规则 第一个参数传入不带数据表前缀的表名 并且支持主键自动获取
改进Model类和Query类 name方法纳入链式操作 查询完成后释放 原来Connection类的getTableInfo方法移入
Query类的column方法支持传入*号
改进Route类可选参数的完整匹配支持
改进Model类的时间类型转换
改进Handle类支持异常的多语言

[ 删除 ]
取消模板引擎的 import标签
取消Input类
取消 IS_API IS_AJAX 常量
取消 APP_AUTO_RUN常量
取消模式扩展
废除 APP_ROUTE_ON APP_ROUTE_MUST常量
取消 Loader类的 instance方法
取消 CLASS_APPEND_SUFFIX常量 使用App::$suffix 替代
取消 APP_NAMESPACE常量定义 改为 App::$namespace
取消 APP_DEBUG 常量 改为 App::$debug 属性获取
取消 MODULE_PATH 常量 用 App::$modulePath 替代
取消 APP_MULTI_MODULE常量改为app_multi_module配置参数
取消 LANG_SET 常量
取消 IS_CGI IS_MAC NOW_TIME 常量
去除 REQUEST_METHOD IS_GET IS_POST IS_PUT IS_DELETE
去掉 VIEW_PATH 常量定义
去除 MODULE_NAME CONTROLLER_NAME ACTION_NAME 常量
取消 CONTROLLER_LAYER MODEL_LAYER VIEW_LAYER VALIDATE_LAYER 常量
去掉 COMMON_MODULE 常量
取消 APP_HOOK常量 默认开启插件机制
取消 url_module_map 配置参数
删除 route助手函数
去除 error_page设置参数
取消base_url配置参数
废除模块映射功能
废除 response_auto_output 配置参数
取消缓存驱动的length参数
取消驱动配置的namespace参数

[ 调整 ]
Input类的方法并入Request类 用法一致
Loader类的addMap方法更改为 addClassMap
Model类类型转换timestamp和datetime对调
Model类和Controller类的failException更改为 validateFailException 避免和Query类冲突
Model类的connection table name属性改成 非 static定义
Model类destroy方法返回成功删除的记录数
Model类的create方法返回当前的模型对象
Model类的saveall方法返回模型对象组成的数组
Query类修改find方法查询不到数据返回 NULL
去除Response类的result方法 改进Jump里面的result方法
url_controller_convert 和 url_action_convert 合并为 url_convert 参数
调整App类的run方法的返回值为Response类
App类module方法改为public 可以在闭包中直接调用
App类的run方法返回response对象
Route类增加rule方法替代原register方法
Route类的register方法更名为import 用于批量导入
Route类原来的alias方法更名为controller,
改进路由到类的方法的地址写法
调整Route类的parseUrlParams方法 路由变量不再合并到$_GET变量
Response类的send方法data参数去掉
调整日志存储结构
验证类的check方法 和 模型类的 validateData 方法 取消引用传参
Connection类的parseSqlTable方法移动到Query类
Query类的options方法改为protected 不对外调用
统一后缀设置参数的值为不带点号
自动加载严格区分大小写 不区分是否调试模式和操作系统
设置调试模式 改为 app_debug 配置参数 在应用配置文件中设置
数据库查询的数据集类型设置改为字符串
调整Lang类的detect方法 返回当前语言
调整 model controller validate action 助手函数 增加 $appendSuffix 参数
修改标签库的方法命名
改进URL参数获取 保留变量名称大小写
数据库数据读取改为默认保持数据库字段大小写
Connection类fieldCase方法改为public

ThinkPHP V5.0 官方权威QQ群

272433397(新手交流群)

更多官方群
评论( 相关
后面还有条评论,点击查看>>