CHANGELOG.md 32 KB

V5.1.34 LTS(2019-1-30)

本次更新为常规更新,修正了一些反馈的问题。

  • 改进Request类的has方法,支持patch
  • 改进unique验证的多条件支持
  • 修复自定义上传验证,检测文件大小
  • 改进in查询支持表达式
  • 改进路由的getBind方法
  • 改进验证类的错误信息获取
  • 改进response助手函数默认值
  • 修正mysql的regexp查询
  • 改进模型类型强制转换写入对Expression对象的支持

V5.1.33 LTS(2019-1-16)

  • 修复路由中存在多个相同替换的正则BUG
  • 修正whereLike查询
  • join方法支持参数绑定
  • 改进union方法
  • 修正多对多关联的attach方法
  • 改进验证类的正则规则自定义
  • 改进Request类method方法
  • 改进File日志类型的CLI日志写入
  • 改进文件日志time_format配置对JSON格式的支持

V5.1.32 LTS(2018-12-24)

本次主要为常规更新,修正了一些反馈的问题。

  • 改进多对多关联的attach方法
  • 改进聚合查询的field处理
  • 改进关联的save方法
  • 修正模型exists方法返回值
  • 改进时间字段写入和输出
  • 改进控制器中间件的调用
  • 改进路由变量替换的性能
  • 改进缓存标签的处理机制

V5.1.31 LTS (2018-12-9)

本次版本包含一个安全更新,建议升级。

  • 改进field方法
  • 改进count方法返回类型
  • download函数增加在浏览器中显示文件功能
  • 修正多对多模型的中间表数据写入
  • 改进sqlsrv驱动支持多个Schemas模式查询
  • 统一助手函数与\think\response\Download函数文件过期时间
  • 完善关联模型的save方法 增加make方法仅创建对象不保存
  • 修改条件表达式对静态变量的支持
  • 修正控制器名获取
  • 改进view方法的field解析

V5.1.30 LTS(2018-11-30)

该版本为常规更新,修正了一些社区反馈的问题。

主要更新如下:

  • 改进查询类的execute方法
  • 判断路由规则定义添加对请求类型的判断
  • 修复orderRaw异常
  • 修正 optimize:autoload指令
  • 改进软删除的destroy方法造成重复执行事件的问题
  • 改进验证类对扩展验证规则 始终验证 不管是否require
  • 修复自定义验证remove所有规则的异常
  • 改进时间字段的自动写入支持微秒数据
  • 改进Connection类的getrealsql方法
  • 修正https地址的URL生成
  • 修复 array_walk_recursive 在低于PHP7.1消耗内部指针问题
  • 改进手动参数绑定使用
  • 改进聚合查询方法的field参数支持Expression

V5.1.29 LTS(2018-11-11)

该版本主要改进了参数绑定的解析问题和提升性能,并修正了一些反馈的问题。

  • 改进手动参数绑定
  • 修正MISS路由的分组参数无效问题
  • 行为支持对象的方法
  • 修正全局查询范围
  • 改进belongsto关联的has方法
  • 改进hasMany关联
  • 改进模型观察者多次注册的问题
  • 改进query类的默认查询参数处理
  • 修正parseBetween解析方法
  • 改进路由地址生成的本地域名支持
  • 改进参数绑定的实际URL解析性能
  • 改进Env类的getEnvget方法
  • 改进模板缓存的生成优化
  • 修复验证类的多语言支持
  • 修复自定义场景验证remove规则异常
  • File类添加是否自动补全扩展名的选项
  • 改进strpos对子串是否存在的判断
  • 修复choice无法用值选择第一个选项问题
  • 验证器支持多维数组取值验证
  • 改进解析extendblock标签的正则

V5.1.28 LTS(2018-10-29)

该版本主要修正了上一个版本存在的一些问题,并改进了关联查询

  • 改进聚合查询方法的字段支持DISTINCT
  • 改进定义路由后url函数的端口生成
  • 改进控制器中间件对swoole等的支持
  • 改进Log类save方法
  • 改进验证类的闭包验证参数
  • 多对多关联支持指定中间表数据的名称
  • 关联聚合查询支持闭包方式指定聚合字段
  • 改进Lang类get方法
  • 多对多关联增加判断关联数据是否存在的方法
  • 改进关联查询使用fetchsql的情况
  • 改进修改器的是否已经执行判断
  • 增加afterWithbeforeWith验证规则 用于比较日期字段

V5.1.27 LTS(2018-10-22)

该版本主要修正了路由绑定的参数,改进了修改器的执行多次问题,并正式宣布为LTS版本!

  • 修正路由绑定的参数丢失问题
  • 修正路由别名的参数获取
  • 改进修改器会执行多次的问题

V5.1.26(2018-10-12)

该版本主要修正了上一个版本的一些问题,并改进了全局查询范围的支持,同时包含了一个安全更新。

  • 修正单一模块下注解路由无效的问题
  • 改进数据库的聚合查询的字段处理
  • 模型类增加globalScope属性定义 用于指定全局的查询范围
  • 模型的useGlobalScope方法支持传入数组 用于指定当前查询需要使用的全局查询范围
  • 改进数据集的order方法对数字类型的支持
  • 修正上一个版本order方法解析的一处BUG
  • 排序字段不合法或者错误的时候抛出异常
  • 改进Request类的file方法对上传文件的错误判断

V5.1.25(2018-9-21)

该版本主要改进了查询参数绑定的性能和对浮点型的支持,以及一些细节的完善。

  • 修正一处命令行问题
  • 改进Socketlog日志驱动,支持自定义默认展开日志类别
  • 修正MorphMany一处bug
  • 跳转到上次记住的url,并支持默认值
  • 改进模型的异常提示
  • 改进参数绑定对浮点型的支持
  • 改进order方法解析
  • 改进json字段数据的自动编码
  • 改进日志log_write可能造成的日志写入死循环
  • Log类增加log_level行为标签位置,用于对某个类型的日志进行处理
  • Route类增加clear方法清空路由规则
  • 分布式数据库配置支持使用数组
  • 单日志文件也支持max_files参数
  • 改进查询参数绑定的性能
  • 改进别名路由的URL后缀参数检测
  • 控制器前置方法和控制器中间件的onlyexcept定义不区分大小写

V5.1.24(2018-9-5)

该版本主要增加了命令行的表格输出功能,并增加了查看路由定义的指令,以及修正了社区的一些反馈问题。

  • 修正Request类的file方法
  • 修正路由的cache方法
  • 修正路由缓存的一处问题
  • 改进上传文件获取的异常处理
  • 改进fetchCollection方法支持传入数据集类名
  • 修正多级控制器的注解路由生成
  • 改进Middlewareclear方法
  • 增加route:list指令用于查看定义的路由 并支持排序
  • 命令行增加Table输出类
  • Command类增加table方法用于输出表格
  • 改进搜索器查询方法支持别名定义
  • 命令行配置增加auto_path参数用于定义自动载入的命令类路径
  • 增加make:command指令用于快速生成指令
  • 改进make:controller指令对操作方法后缀的支持
  • 改进命令行的定义文件支持索引数组 用于指令对象的惰性加载
  • 改进valuecolumn方法对后续查询结果的影响
  • 改进RuleName类的setRule方法

V5.1.23(2018-8-23)

该版本主要改进了数据集对象的处理,增加了findOrEmpty方法,并且修正了一些社区反馈的BUG。

  • 数据集类增加diff/intersect方法用于获取差集和交集(默认根据主键值比较)
  • 数据集类增加order方法支持指定字段排序
  • 数据集类增加map方法使用回调函数处理数据并返回新的数据集对象
  • Db增加allowEmpty方法允许find方法在没有数据的时候返回空数组或者空模型对象而不是null
  • Db增加findOrEmpty方法
  • Db增加fetchCollection方法用于指定查询返回数据集对象
  • 改进order方法的数组方式解析,增强安全性
  • 改进withSearch方法,支持第三个参数传入字段前缀标识,用于多表查询字段搜索
  • 修正optimize:route指令开启类库后缀后的注解路由生成
  • 修正redis缓存及session驱动
  • 支持指定Yaconf的独立配置文件
  • 增加yaconf助手函数用于配置文件

V5.1.22(2018-8-9)

该版本主要增加了模型搜索器和withJoin方法,完善了模型输出和对Yaconf的支持,修正了一些社区反馈的BUG。

  • 改进一对一关联的table识别问题
  • 改进内置Facade
  • 增加withJoin方法支持join方式的一对一关联查询
  • 改进join预载入查询的空数据问题
  • 改进Config类的load方法支持快速加载配置文件
  • 改进execute方法和事务的断线重连
  • 改进memcache驱动的has方法
  • 模型类支持定义搜索器方法
  • 完善Config类对Yaconf的支持
  • 改进模型的hidden/visible/append/withAttr方法,支持在查询前后调用,以及支持数据集对象
  • 数据集对象增加where方法根据字段或者关联数据过滤数据
  • 改进AJAX请求的204判断

V5.1.21(2018-8-2)

该版本主要增加了下载响应对象和数组查询对象的支持,并修正了一些社区反馈的问题。

  • 改进核心对象的无用信息调试输出
  • 改进模型的isRelationAttr方法判断
  • 模型类的getall方法并入Db类
  • 增加下载响应对象download助手函数
  • 修正别名路由配置定义读取
  • 改进resultToModel方法
  • 修正开启类库后缀后的注解路由生成
  • Response类增加noCache快捷方法
  • 改进路由对象在Swoole/Workerman下面参数多次合并问题
  • 修正路由ajax/pjax参数后路由变量无法正确获取的问题
  • 增加清除中间件的方法
  • 改进依赖注入的参数规范自动识别(便于对接前端小写+下划线规范)
  • 改进hasWhere的数组条件的字段判断
  • 增加数组查询对象Where支持(喜欢数组查询的福音)
  • 改进多对多关联的闭包支持

V5.1.20(2018-7-25)

该版本主要增加了Db和模型的动态获取器的支持,并修正了一些已知问题。

  • Db类添加获取器支持
  • 支持模型及关联模型字段动态定义获取器
  • 动态获取器支持JSON字段
  • 改进路由的before行为执行(匹配后执行)
  • Config类支持Yaconf
  • 改进Url生成的端口问题
  • Request类增加setUrlsetBaseUrl方法
  • 改进页面trace的信息显示
  • 修正MorphOne关联
  • 命令行添加查看版本指令

V5.1.19 (2018-7-13)

该版本是一个小幅改进版本,针对SwooleWorkermanCookie支持做了一些改进,并修正了一些已知的问题。

  • 改进query类delete方法对软删除条件判断
  • 修正分表查询的软删除问题
  • 模型查询的时候同时传入tablename属性
  • 容器类增加IteratorAggregateCountable接口支持
  • 路由分组支持对下面的资源路由统一设置only/except/vars参数
  • 改进Cookie类更好支持扩展
  • 改进Request类post方法
  • 改进模型自关联的自动识别
  • 改进Request类对php://input数据的处理

V5.1.18 (2018-6-30)

该版本主要完善了对SwooleWorkermanHttpServer运行支持,改进Request类,并修正了一些已知的问题。

  • 改进关联append方法的处理
  • 路由初始化和检测方法分离
  • 修正destroy方法强制删除
  • app_init钩子位置移入run方法
  • think-swoole扩展更新到2.0版本
  • think-worker扩展更新到2.0版本
  • 改进Url生成的域名自动识别
  • Request类增加setPathinfo方法和setHost方法
  • Request类增加withGet/withPost/withHeader/withServer/withCookie/withEnv方法进行赋值操作
  • Route类改进host属性的获取
  • 解决注解路由配置不生效的问题
  • 取消Test日志驱动,改为使用close设置关闭全局日志写入
  • 修正路由的response参数
  • 修正204响应输出的判断

V5.1.17 (2018-6-18)

该版本主要增加了控制器中间件的支持,改进了路由功能,并且修正了社区反馈的一些问题。

  • 修正软删除的delete方法
  • 修正Query类Count方法
  • 改进多对多detach方法
  • 改进Request类Session方法
  • 增加控制器中间件支持
  • 模型类增加jsonAssoc属性用于定义json数据是否返回数组
  • 修正Request类method方法的请求伪装
  • 改进静态路由的匹配
  • 分组首页路由自动完整匹配
  • 改进sqlsrv的column方法
  • 日志类的apart_level配置支持true自动生成对应类型的日志文件
  • 改进204输出判断
  • 修正cli下页面输出的BUG
  • 验证类使用更高效的ctype验证机制
  • 改进Request类cookie方法
  • 修正软删除的withTrashed方法
  • 改进多态一对多的预载入查询
  • 改进Query类column方法的缓存读取
  • Query类增加whereBetweenTimeField方法
  • 改进分组下多个相同路由规则的合并匹配问题
  • 路由类增加getRule/getRuleList方法获取定义的路由

V5.1.16 (2018-6-7)

该版本主要修正了社区反馈的一些问题,并对Request类做了进一步规范和优化。

  • 改进Session类的boot方法
  • App类的初始化方法可以单独执行
  • 改进Request类的param方法
  • 改进资源路由的变量替换
  • Request类增加__isset方法
  • 改进useGlobalScope方法对软删除的影响
  • 修正命令行调用
  • 改进Cookie类init方法
  • 改进多对多关联删除的返回值
  • 一对多关联写入支持replace
  • 路由增加filter检测方法,用于通过请求参数检测路由是否匹配
  • 取消Request类session/env/server方法的filter参数
  • 改进关联的指定属性输出
  • 模型删除操作删除后不清空对象数据仅作标记
  • 调整模型的save方法返回值为布尔值
  • 修正Request类isAjax方法
  • 修正中间件的模块配置读取
  • 取消Request类的请求变量的设置功能
  • 取消请求变量获取的默认修饰符
  • Request类增加setAction/setModule/setController方法
  • 关联模型的delete方法调用Query类
  • 改进URL生成的域名识别
  • 改进URL检测对已定义路由的域名判断
  • 模型类增加isExistsisForce方法
  • 软删除的destroyrestore方法返回值调整为布尔值

V5.1.15 (2018-6-1)

该版本主要改进了路由缓存的性能和缓存方式设置,增加了JSON格式文件日志的支持,并修正了社区反馈的一些问题。

  • 容器类增加exists方法 仅判断是否存在对象实例
  • 取消配置类的autoload方法
  • 改进路由缓存大小提高性能
  • 改进Dispatch类init方法
  • 增加make:validate指令生成验证器类
  • Config类get方法支持默认值参数
  • 修正字段缓存指令
  • 改进App类对null数据的返回
  • 改进模型类的__isset方法判断
  • 修正Query类的withAggregate方法
  • 改进RuleItem类的setRuleName方法
  • 修正依赖注入和参数的冲突问题
  • 修正Db类对第三方驱动的支持
  • 修正模型类查询对象问题
  • 修正File缓存驱动的has方法
  • 修正资源路由嵌套
  • 改进Request类对$_SERVER变量的读取
  • 改进请求缓存处理
  • 路由缓存支持指定单独的缓存方式和参数
  • 修正资源路由的中间件多次执行问题
  • 修正optimize:config指令
  • 文件日志支持JSON格式日志保存
  • 修正Db类connect方法
  • 改进Log类write方法不会自动写入之前日志
  • 模型的关联操作默认启用事务
  • 改进软删除的事件响应

V5.1.14 (2018-5-18)

该版本主要对底层容器进行了一些优化改进,并增加了路由缓存功能,可以进一步提升路由性能。

  • 依赖注入的对象参数传入改进
  • 改进核心类的容器实例化
  • 改进日期字段的读取
  • 改进验证类的getScene方法
  • 模型的create方法和save方法支持replace操作
  • 改进Db类的调用机制
  • App类调整为容器类
  • 改进容器默认绑定
  • Loader类增加工厂类的实例化方法
  • 增加路由变量默认规则配置参数
  • 增加路由缓存设计
  • 错误处理机制改进
  • 增加清空路由缓存指令

V5.1.13 (2018-5-11)

该版本主要增加了MySQL的XA事务支持,模型事件支持观察者,以及对Facade类的改进。

  • 改进自动缓存
  • 改进Url生成
  • 修正数据缓存
  • 修正value方法的缓存
  • join方法和view方法的条件支持使用Expression对象
  • 改进驱动的parseKey方法
  • 改进Request类host方法和domain方法对端口的处理
  • 模型增加withEvent方法用于控制当前操作是否需要执行模型事件
  • 模型setInc/setDec方法支持更新事件
  • 模型添加before_restore/after_restore事件
  • 增加模型事件观察者
  • 路由增加mobile方法设置是否允许手机访问
  • 数据库XA事务支持
  • 改进索引数组查询对IN查询的支持
  • 修正invokeMethod方法
  • 修正空数据写入返回值的BUG
  • redis驱动支持predis
  • 改进parseData方法
  • 改进模块加载
  • App类初始化方法调整
  • 改进数组查询对表达式Expression对象支持
  • 改进闭包的依赖注入调用
  • 改进多对多关联的中间表模型更新
  • 增加容器中对象的自定义实例化

V5.1.12 (2018-4-25)

该版本主要改进了主从查询的及时性,并支持动态设置请求数据。

  • 支持动态设置请求数据
  • 改进comment方法解析
  • 修正App类__unset方法
  • 改进url生成的域名绑定
  • 改进主从查询的及时性
  • 修正value的数据缓存功能
  • 改进分页类的集合对象方法调用
  • 改进Db类的代码提示
  • SQL日志增加主从标记

V5.1.11 (2018-4-19)

该版本为安全和修正版本,改进了JSON查询的参数绑定问题和容器类对象实例获取,并包含一处可能的安全隐患,建议更新。

  • 支持指定JSON数据查询的字段类型
  • 修正selectInsert方法
  • whereColumn方法支持数组方式
  • 改进容器类make方法
  • 容器类delete方法支持数组
  • 改进composer自动加载
  • 改进模板引擎
  • 修正like查询的一处安全隐患

V5.1.10 (2018-4-16)

该版本为修正版本,修正上一个版本的一些BUG,并增强了think clear指令。

  • 改进orderField方法
  • 改进exists查询
  • 修改cli模式入口文件位置计算
  • 修正null查询
  • 改进parseTime方法
  • 修正关联预载入查询
  • 改进mysql驱动
  • 改进think clear指令 支持 -c -l -r选项
  • 改进路由规则对/结尾的支持

V5.1.9 (2018-4-12)

该版本主要是一些改进和修正,并包含一个安全更新,是一个推荐更新版本。

  • 默认模板渲染规则支持配置保持操作方法名
  • 改进Request类的ip方法
  • 支持模型软删除字段的默认值定义
  • 改进路由变量规则对中文的支持
  • 使用闭包查询的时候使用cache(true) 抛出异常提示
  • 改进LoaderloadComposerAutoloadFiles方法
  • 改进查询方法安全性
  • 修正路由地址中控制器名驼峰问题
  • 调整上一个版本的module_initapp_begin的钩子顺序问题
  • 改进CLI命令行执行的问题
  • 修正社区反馈的其它问题

V5.1.8 (2018-4-5)

该版本主要改进了中间件的域名和模块支持,并同时修正了几个已知问题。

  • 增加template.auto_rule 参数设置默认模板渲染的操作名自动转换规则
  • 默认模板渲染规则改由视图驱动实现
  • 修正路由标识定义
  • 修正控制器路由方法
  • 改进Request类ip方法支持自定义代理IP参数
  • 路由注册中间件支持数组方式别名
  • 改进命令行执行下的composer自动加载
  • 添加域名中间件注册支持
  • 全局中间件支持模块定义文件
  • Log日志配置支持close参数可以全局关闭日志写入
  • 中间件方法中捕获HttpResponseException异常
  • 改进中间件的闭包参数传入
  • 改进分组路由的延迟解析
  • 改进URL生成对域名绑定的支持
  • 改进文件缓存和文件日志驱动的并发支持

V5.1.7 (2018-3-28)

该版本主要修正了路由的一些问题,并改进了查询的安全性。

  • 支持middleware配置文件预先定义中间件别名方便路由调用
  • 修正资源路由
  • 改进field方法 自动识别fieldRaw
  • 增加Expression
  • Query类增加raw方法
  • Query类的field/ orderwhere方法都支持使用raw表达式查询
  • 改进inc/dec查询 支持批量更新
  • 改进路由分组
  • 改进Response类create方法
  • 改进composer自动加载
  • 修正域名路由的append方法
  • 修正操作方法的初始化方法获取不到问题

V5.1.6 (2018-3-26)

该版本主要改进了路由规则的匹配算法,大幅提升了路由性能。并正式引入了中间件的支持,可以在路由中定义或者全局定义。另外包含了一个安全更新,是一个建议更新版本。

  • 改进URL生成对路由ext方法的支持
  • 改进查询缓存对不同数据库相同表名的支持
  • 改进composer自动加载的性能
  • 改进空路由变量对默认参数的影响
  • mysql的json字段查询支持多级
  • Query类增加option方法
  • 优化路由匹配
  • 修复验证规则数字键名丢失问题
  • 改进路由Url生成
  • 改进一对一关联预载入查询
  • Request类增加rootDomain方法
  • 支持API资源控制器生成 make:controller --api
  • 优化Template类的标签解析
  • 容器类增加删除和清除对象实例的方法
  • 修正MorphMany关联的eagerlyMorphToMany方法一处错误
  • Container类的异常捕获改进
  • Domain对象支持bind方法
  • 修正分页参数
  • 默认模板的输出规则不受URL影响
  • 注解路由支持多级控制器
  • Query类增加getNumRows方法获取前次操作影响的记录数
  • 改进查询条件的性能
  • 改进模型类readTransform方法对序列化类型的处理
  • Log类增加close方法可以临时关闭当前请求的日志写入
  • 文件日志方式增加自动清理功能(设置max_files参数)
  • 修正Query类的getPk方法
  • 修正模板缓存的布局开关问题
  • 修正Query类select方法的缓存
  • 改进input助手函数
  • 改进断线重连的信息判断
  • 改进正则验证方法
  • 调整语言包的加载顺序 放到app_init之前
  • controller类fetch方法改为final
  • 路由地址中的变量支持使用<var>方式
  • 改进XMLResponse 支持传入编码过的xml内容
  • 修正Query类view方法的数组表名支持
  • 改进路由的模型闭包绑定
  • 改进分组变量规则的继承
  • 改进cli-server模式下的composer自动加载
  • 路由变量规则异常捕获
  • 引入中间件支持
  • 路由定义增加middleware方法
  • 增加生成中间件指令make:middleware
  • 增加全局中间件定义支持
  • 改进optimize:config指令对全局中间件的支持
  • 改进config类has方法
  • 改进时间查询的参数绑定
  • 改进inc/dec/exp查询的安全性

V5.1.5 (2018-1-31)

该版本主要增强了数据库的JSON查询,并支持JSON字段的聚合查询,改进了一些性能问题,修正了路由的一些BUG,主要更新如下:

  • 改进数据集查询对JSON数据的支持
  • 改进聚合查询对JSON字段的支持
  • 模型类增加getOrFail方法
  • 改进数据库驱动的parseKey方法
  • 改进Query类join方法的自关联查询
  • 改进数据查询不存在不生成查询缓存
  • 增加run命令行指令启动内置服务器
  • Requestpathinfo方法改进对cli-server支持
  • Session类增加use_lock配置参数设置是否启用锁机制
  • 优化File缓存自动生成空目录的问题
  • 域名及分组路由支持append方法传递隐式参数
  • 改进日志的并发写入问题
  • 改进Query类的where方法支持传入Query对象
  • 支持设置单个日志文件的文件名
  • 修正路由规则的域名条件约束
  • Request类增加subDomain方法用于获取当前子域名
  • Response类增加allowCache方法控制是否允许请求缓存
  • Request类增加sendData方法便于扩展
  • 改进Env类不依赖putenv方法
  • 改进控制台trace显示错误
  • 改进MorphTo关联
  • 改进完整路由匹配后带斜线访问出错的情况
  • 改进路由的多级分组问题
  • 路由url地址生成支持多级分组
  • 改进路由Url生成的url_convert参数的影响
  • 改进missauto路由内部解析
  • 取消预载入关联查询缓存功能

V5.1.4 (2018-1-19)

该版本主要增强了数据库和模型操作,主要更新如下:

  • 支持设置 deleteTime属性为false 关闭软删除
  • 模型增加getError方法
  • 改进Query类的getTableFields/getFieldsType方法 支持表名自动获取
  • 模型类toCollection方法增加参数指定数据集类
  • 改进union查询
  • 关联预载入with方法增加缓存参数
  • 改进模型类的getall方法的缓存 支持关联缓存
  • 支持order by field操作
  • 改进insertAll分批写入
  • 改进json字段数据支持
  • 增加JSON数据的模型对象化操作
  • 改进路由ext参数检测
  • 修正rule方法的method参数使用 get|post 方式注册路由的问题

V5.1.3 (2018-1-12)

该版本主要改进了路由及调整函数加载顺序,主要更新如下:

  • 增加env助手函数;
  • 增加route助手函数;
  • 增加视图路由方法;
  • 增加路由重定向方法;
  • 路由默认区分最后的目录斜杆(支持设置不区分);
  • 调整公共文件和配置文件的加载顺序(可以在配置文件中直接使用助手函数);
  • 视图类增加filter方法设置输出过滤;
  • view助手函数增加filter参数;
  • 改进缓存生成指令;
  • Session类的get方法支持获取多级;
  • Request类only方法支持指定默认值;
  • 改进路由分组;
  • 修正使用闭包查询的时候自动数据缓存出错的情况;
  • 废除view_filter钩子位置;
  • 修正分组下面的资源路由;
  • 改进session驱动;

V5.1.2 (2018-1-8)

该版本改进了配置类及数据库类,主要更新如下:

  • 修正嵌套路由分组;
  • 修正自定义模板标签界定符后表达式语法出错的情况;
  • 修正自关联的多次调用问题;
  • 修正数组查询的null条件查询;
  • 修正Query类的orderfield的一处可能的BUG;
  • 配置参数设置支持三级;
  • 配置对象支持ArrayAccess
  • App类增加path方法用于设置应用目录;
  • 关联定义增加selfRelation方法用于设置是否为自关联;

V5.1.1 (2018-1-3)

修正一些反馈的BUG,包括:

  • 修正Cookie类存取数组的问题
  • 修正Controller的fetch方法
  • 改进跨域请求
  • 修正insertAll方法
  • 修正chunk方法

V5.1.0 (2018-1-1)

主要更新如下:

  • 增加注解路由支持
  • 路由支持跨域请求设置
  • 增加app_dispatch钩子位置
  • 修正多对多关联的detach方法
  • 修正软删除的destroy方法
  • Cookie类httponly参数默认为false
  • 日志File驱动增加single参数配置记录同一个文件(不按日期生成)
  • 路由的extdenyExt方法支持不传任何参数
  • 改进模型的save方法对oracle的支持
  • Query类的insertall方法支持配合datalimit方法
  • 增加whereOr动态查询支持
  • 日志的ip地址记录改进
  • 模型saveAll方法支持isUpdate方法
  • 改进Pivot模型的实例化操作
  • 改进Model类的data方法
  • 改进多对多中间表模型类
  • 模型增加force方法强制更新所有数据
  • Hook类支持设置入口方法名称
  • 改进验证类
  • 改进hasWhere查询的数据重复问题
  • 模型的saveall方法返回数据集对象
  • 改进File缓存的clear方法
  • 缓存添加统一的序列化机制
  • 改进泛三级域名的绑定
  • 改进泛域名的传值和取值
  • Request类增加panDomain方法
  • 改进废弃字段判断
  • App类增加create方法用于实例化应用类库
  • 容器类增加has方法
  • 改进多数据库切换连接
  • 改进断线重连的异常捕获
  • 改进模型类buildQuery方法
  • Query类增加unionAll方法
  • 关联统计功能增强(支持Sum/Max/Min/Avg)
  • 修正延迟写入
  • chunk方法支持复合主键
  • 改进JSON类型的写入
  • 改进Mysql的insertAll方法
  • Model类save方法改进复合主键包含自增的情况
  • 改进Query类incdec方法的关键字处理
  • File缓存inc和dec方法保持原来的有效期
  • 改进redis缓存的有效期判断
  • 增加checkRule方法用于单独数据的多个验证规则
  • 修正setDec方法的延迟写入
  • max和min方法增加force参数
  • 二级配置参数区分大小写
  • 改进join方法自关联的问题
  • 修正关联模型自定义表名的情况
  • Query类增加getFieldsType和getTableFields方法
  • 取消视图替换功能及view_replace_str配置参数
  • 改进域名绑定模块后的额外路由规则问题
  • 改进mysql的insertAll方法
  • 改进insertAll方法写入json字段数据的支持
  • 改进redis长连接多编号库的情况

RC3版本(2017-11-6)

主要更新如下:

  • 改进redis驱动的get方法
  • 修正Query类的alias方法
  • File类错误信息支持多语言
  • 修正路由的额外参数解析
  • 改进whereTime方法
  • 改进Model类getAttr方法
  • 改进App类的controllervalidate方法支持多层
  • 改进HasManyThrough
  • 修正软删除的restore方法
  • 改进MorpthTo关联
  • 改进数据库驱动类的parseKey方法
  • 增加whereField动态查询方法
  • 模型增加废弃字段功能
  • 改进路由的after行为检查和before行为机制
  • 改进路由分组的检查
  • 修正mysql的json字段查询
  • 取消Connection类的quote方法
  • 改进命令行的支持
  • 验证信息支持多语言
  • 修正路由模型绑定
  • 改进参数绑定类型对枚举类型的支持
  • 修正模板的{$Think.version}输出
  • 改进模板date函数解析
  • 改进insertAll方法支持分批执行
  • Request类host方法支持反向代理
  • 改进JumpResponse支持区分成功和错误模板
  • 改进开启类库后缀后的关联外键自动识别问题
  • 修正一对一关联的JOIN方式预载入查询问题
  • Query类增加hidden方法

RC2版本(2017-10-17)

主要更新如下:

  • 修正视图查询
  • 修正资源路由
  • 修正HasMany关联 修正where方法的闭包查询
  • 一对一关联绑定属性到父模型后 关联属性不再保留
  • 修正应用的命令行配置文件读取
  • 改进Connection类的getCacheKey方法
  • 改进文件上传的非法图像异常
  • 改进验证类的unique规则
  • Config类get方法支持获取一级配置
  • 修正count方法对fetchSql的支持
  • 修正mysql驱动对socket支持
  • 改进Connection类的getRealSql方法
  • 修正view助手函数
  • Query类增加leftJoin rightJoinfullJoin方法
  • 改进app_namespace的获取
  • 改进append方法对一对一bind属性的支持
  • 改进关联的saveall方法的返回值
  • 路由标识设置异常修复
  • 改进Route类rule方法
  • 改进模型的table属性设置
  • 改进composer autofile的加载顺序
  • 改进exception_handle配置对闭包的支持
  • 改进app助手函数增加参数
  • 改进composer的加载路径判断
  • 修正路由组合变量的URL生成
  • 修正路由URL生成
  • 改进whereTime查询并支持扩展规则
  • File类的move方法第二个参数支持false
  • 改进Config类
  • 改进缓存类remember方法
  • 惯例配置文件调整 Url类当普通模式参数的时候不做urlencode处理
  • 取消ROOT_PATHAPP_PATH常量定义 如需更改应用目录 自己重新定义入口文件
  • 增加app_debugEnv获取
  • 修正泛域名绑定
  • 改进查询表达式的解析机制
  • mysql增加regexp查询表达式 支持正则查询
  • 改进查询表达式的异常判断
  • 改进model类的destroy方法
  • 改进Builder类 取消parseValue方法
  • 修正like查询的参数绑定问题
  • console和start文件移出核心纳入应用库
  • 改进Db类主键删除方法
  • 改进泛域名绑定模块
  • 取消BIND_MODULE常量 改为在入口文件使用bind方法设置
  • 改进数组查询
  • 改进模板渲染的异常处理
  • 改进控制器基类的架构方法参数
  • 改进Controller类的successerror方法
  • 改进对浏览器JSON-Handle插件的支持
  • 优化跳转模板的移动端显示
  • 修正模型查询的chunk方法对时间字段的支持
  • 改进trace驱动
  • Collection类增加push方法
  • 改进Redis Session驱动
  • 增加JumpResponse驱动

RC1(2017-9-8)

主要新特性为:

  • 引入容器和Facade支持
  • 依赖注入完善和支持更多场景
  • 重构的(对象化)路由
  • 配置和路由目录独立
  • 取消系统常量
  • 助手函数增强
  • 类库别名机制
  • 模型和数据库增强
  • 验证类增强
  • 模板引擎改进
  • 支持PSR-3日志规范
  • RC1版本取消了5.0多个字段批量数组查询的方式