ThinkPHP V5.0.2 版本发布,祝 TPer 程序员节快乐,事业顺利,身体健康^_^
V5.0.2 版本修正了一些社区反馈的问题,并完善了路由和模型。
主要调整:
- 数据库和模型完善;
- 路由功能完善;
- 增加
yaml
配置格式支持;
- 依赖注入完善;
- Session 类完善;
- Cookie 类完善;
- Validate 类完善;
- 支持反射类的异常捕获;
- 修正社区反馈 BUG ;
值此 5.0.2 版本发布和 1024 节之际,官方文档今日限时特惠 10.24 不要错过哦 包括 《ThinkPHP5.0 快速入门》 和最新的《ThinkPHP5.0 路由完全指南》 两本书^_^ 仅限今天一天~ 赶紧秒了吧
[ 请求和路由 ]
- 依赖注入的类如果定义了
invoke
方法则自动调用
- Request 类的
header
方法增加自定义 header 支持
- Request 类禁止直接实例化调用
- 改进 Request 类 ip 方法
- 路由变量规则支持闭包定义
- 路由参数增加
ajax
和pjax
判断
- 别名路由增加允许和排除操作
- 改进路由域名绑定后的 url 生成
- 路由生成改进对路由到类的支持
- 路由生成支持
url_param_type
配置参数
- 路由生成支持别名路由
- Route 重定向规则支持更多
schema
- 别名路由支持定义单独方法的请求类型
- 改进路由分组的 url 生成
- 路由规则的组合变量支持可选分隔符定义
- 改进路由合并参数的获取
- 路由规则支持单独设置 url 分隔符,路由参数为
param_depr
- 自动搜索控制器支持自定义访问控制器层的情况
- 改进路由标识不区分大小写
- 改进路由地址是否定义过路由规则的检测
[ 数据库和模型 ]
- 改进 Query 类的 join 方法
- 改进 Query 类分页方法的参数绑定
- 修正软删除方法
- 修正 Query 类 parseOrder 方法一处错误
- 修正 sqlsrv 驱动 parseOrder 方法
- 修正 Query 类 setInc 和 setDec 方法
- 改进 Model 类的 save 方法支持非自增主键的处理
- 整型字段的参数绑定如果为空写入默认值 0
- 改进 Model 类 has 和 hasWhere 方法
- 改进 Query 类的 value 方法缓存判断
- 改进 Query 类 join 方法对子查询支持
- 改进 Query 类的 table 方法和 alias 方法用法
- 关联预载入支持
hasOne
自关联
- 改进 Builder 类的 parseKey 方法
- 改进 Builder 类的 join/alias/table 方法的解析
- 改进全局查询范围
- 改进 Query 类的聚合查询方法的返回值
- 改进关联属性的读取
- 改进聚合模型主键和关联键相同的情况
- 改进模型在开启
class_suffix
参数情况下的 name 属性的识别
[ 其它 ]
- Cache 类增加
remember
方法 用于当获取的缓存不存在的时候自动写入
- Session 类增加
flash
方法用于设置下一次请求有效的值
- Session 类增加
flush
方法用于清空当前请求有效的值
- Session 类增加
push
方法用于更新数组数据
- 增加 yaml 配置格式支持
- 改进 App 类的反射异常无法捕获问题
- 修正 session 助手函数的清空操作
- 改进验证类的
image
方法
- 改进验证类的
activeUrl
方法
- 改进自定义验证规则的使用
- 改进控制器自动搜索后的控制器名获取
- 修正 import 方法加载 extend 目录类库
- 修正 json_encode 时 "Failed calling XXX::jsonSerialize()" 的异常
- 改进 Loader 类 model 和 validate 方法的单例问题
- 改进方法执行的日志记录
- 改进模板引擎的 Think 变量解析
- 改进 Lang 类
load
方法
- 验证错误信息支持多语言读取
- 改进 ROOT_PATH 常量
- 改进语言包加载
- 改进模板 session 和 cookie 变量获取,自动判断前缀
- 缓存驱动统一增加 handler 方法用于获取操作对象的句柄(某些缓存类型可能为 null )
- File 类增加
__call
方法用于兼容 5.0 版本的md5
和 sha1
方法
- 改进文件缓存驱动的
clear
方法
- Lang 类增加
setLangCookieExpire
方法设置多语言 cookie 过期时间
- 增加
route_complete_match
配置参数
[ 调整 ]
下列模型属性和方法由原来的静态( static )定义改为动态定义:
- 聚合模型的
relationModel
属性
- Model 类的
useGlobalScope
属性
- 全局查询范围方法
base
改为动态方法
- 软删除属性
deleteTime
属性