V5.2Beta3
Pre-release
Pre-release
更新日志
路由
- 路由检测作为
AppInit
事件响应独立出App类,可配置事件定义文件不使用路由功能 - 路由定义的方法简化
option
和pattern
参数,统一使用方法进行路由参数和变量规则设置 - 取消别名路由和快捷路由功能
- 取消多级控制器的自动搜索功能
- 路由分组不再支持数组方式定义分钟下面的路由规则
- 取消路由的
mergeExtraVars
方法和设置 - 提升路由变量替换的性能
- 判断路由规则定义添加对请求类型的判断
- 路由地址支持
Dispatch
对象
数据库和模型
- 改进模型的数据类型强制转换对
Expression
对象的支持 - 模型查询统一返回对象 取消
findOrEmpty
方法 模型类增加isEmpty
方法 - 增加
raw
助手函数 - 修正
mysql
的regexp
查询 - 改进聚合查询方法的
field
参数支持Expression
where
方法支持传入Query
对象- 改进
Connection
类getRealSql
方法 - Query类
cache
方法支持传入CacheItem
类 - Query类
find/select/cursor
方法不再支持闭包 - 模型增加
lazySave
方法 用于延迟自动保存 - 统一模型数据的读取和写入,支持驼峰和下划线自动智能识别
- 取消数据库的分表功能支持
- 改进
join
方法支持参数绑定 - 取消
setInc
/setDec
方法和setField
方法 - 模型增加
strict
属性 支持开启字段区分大小写 默认不区分,数据库字段强制使用小写 - 取消查询方法的
eq neq lt gt elt egt
等表达式 - 统一模型事件为使用模型事件观察者 废弃
event
方法注册模型事件 - 增加
after_read
模型事件 - 增加
whereYear
/whereMonth
/whereDay
查询方法 - Query类
query
方法支持查询缓存 - 增加
procedure
方法用于指定是否为存储过程调用 - 简化
cursor
、query
和execute
方法参数 - 废弃数据库执行次数 合并到查询次数
- Connection类
getCursor
方法调整 取消relation
参数 - 取消一对一关联的
setEagerlyType
方法 - 改进软删除
destory
方法重复执行事件的问题 - 修正多对多中间表的写入
- 改进关联模型的
save
方法 - 增加乐观锁
Trait
控制器
- 取消
ActionBegin
事件 - 改进控制器中间件执行
- 修正控制器名称获取
- 改进App类的
useClassSuffix
方法的默认值 - 取消
controller_suffix
配置,改用App类的controllerSuffix
方法设置 - 取消
url_controller_layer
配置,改用App类的controllerLayer
方法设置 - 取消
class_suffix
配置 - 取消
App
类的action
方法 - 取消
empty_controller
配置,改用App
类的emptyController
方法设置 - 取消空操作
缓存
- 改进缓存
CacheItem
类增加expire
和tag
方法支持 - 改进
CacheItem
类getExpire
方法 - 改进
CacheItem
的缓存有效期处理 - 改进缓存类的
remember
方法 - FIX:当使用
complex
缓存的时候,通过store
方法选择驱动,提供给connect
的参数类型错误 - 改进Redis缓存驱动的
tag
支持 - 改进
Redis
驱动 - 改进缓存类 取消
xcache
驱动 - 改进缓存标签的获取
- 增加缓存序列化的闭包支持
验证
- 改进
unique
验证方法 - 改进验证类的自定义验证正则
- 验证方法调整
- 增加
validate
助手函数
其它
- 改进
Cookie
类的setCookie
方法 App
类增加classBaseName
方法- 改进
Url
生成的端口问题 - 修正
Request
类param
方法 - 语言检测、路由检查、请求缓存功能独立作为事件响应
Request
增加单独的middleware
方法传递中间件变量- 取消
App
类的log
方法 - 增加
exception_response_type
配置参数