加载中...

更新日志


版本更新日志

2016-12-20 V5.0.4

主要调整:

  • 关联模型重构并增加多态一对多关联;
  • 数据库支持一个字段多次调用不同查询条件;
  • 增加数据库CURD事件支持;
  • 路由到类和控制器的方法支持传入额外参数;
  • 支持全局模板变量赋值;
  • 模型支持独立设置查询数据集对象;
  • 日志针对命令行及调试做出改进;
  • 改进Hook类的行为方法调用

[请求和路由]

  • 请求缓存支持模块单独开启
  • Request类post方法支持获取json方式的请求数据
  • 路由到类的方法和控制器方法 支持传入额外参数,用于方法的参数
  • 改进控制器自动搜索的目录规范
  • 改进请求缓存
  • 改进自动参数绑定
  • 修正路由的请求缓存设置
  • 改进Route类name方法

[数据库和模型]

  • 增加数据库查询(CURD)事件
  • 改进多表更新的字段不存在问题
  • 改进Model类的useGlobalScope方法
  • 修正子查询作为表名查询的问题
  • Model类增加resultSetType属性 用于指定模型查询的数据集对象(默认为空返回数组)
  • Model类增加toCollection方法(自动调用)
  • 关联模型架构调整
  • 改进预载入with方法的参数支持小写和下划线定义
  • 修正关联多对多一处错误
  • 改进关联多对多的查询
  • 关联模型支持多态一对多关联
  • 预载入关联查询支持关联对象属性绑定到当前模型
  • 支持追加关联对象的属性到当前模型数据
  • 一对一关联预载入支持JOIN和IN两种方式(默认为JOIN)
  • 改进多对多查询
  • 改进模型更新的数据变化比较规则
  • 查询支持一个字段多次查询条件
  • 改进sql日志的sql语句
  • 修正join自身表的别名覆盖问题
  • 模型类的connection属性和数据库默认配置合并
  • 改进inbetween查询条件的自动参数绑定
  • 改进Query类对数据集对象以及关联字段排序的支持
  • 增加模型的快捷事件方法
  • 改进Query类的getTableInfo方法缓存读取
  • model类的saveAll方法支持调用allowField方法进行字段过滤
  • 修正关联查询的时候 whereTime方法的bug
  • 改进Query类的聚合查询
  • table方法支持字符串方式的子查询
  • 修正count avg方法使用fetchsql无法正确返回sql的问题

[其它]

  • 改进命令行下的日志记录
  • 部署模式下简化日志记录
  • 增加debug日志类型 仅限调试模式记录
  • 改进Template类parseTemplateFile方法
  • 改进Validate类的getRuleMsg方法
  • 控制器的error方法在AJAX请求默认返回url为空
  • Validate类架构方法增加field参数 用于设置验证字段的描述
  • 改进App类invokeMethod方法对架构函数依赖注入的支持
  • 增加RedirectResponse的restore方法返回值
  • View类增加share静态方法 用于静态赋值模板变量
  • 验证类增加hasScene方法判断是否存在某个场景的验证配置
  • 修正redis和session驱动的destroy方法返回值
  • 空操作方法的参数传入去掉操作方法后缀
  • 在控制器中调用request和view增加类型提示
  • 改进input助手函数支持多维数据获取
  • Cache类增加pullremember方法
  • 改进验证类的confirm验证规则 支持自动规则识别
  • 改进验证类的错误信息定义
  • 增加Validate类自定义验证错误信息的替换规则
  • Cookie类增加forever方法用于永久保存
  • 模板渲染支持从视图根目录读取模板
  • 改进Hook类的exec方法

[调整]

  • Db类查询不再支持设置自定义数据集对象
  • 废除Query类的fetchClass方法
  • 控制器的error方法在AJAX请求默认返回的url为空
  • 关联方法定义不支持使用小写下划线,必须使用驼峰法
  • 行为类的方法必须使用驼峰法命名

2016-11-11 V5.0.3

主要调整:

  • 请求缓存增强;
  • 路由增强;
  • 数据库和模型完善;
  • 支持反射的异常捕获;
  • File类改进;
  • 修正社区反馈的一些BUG;

[ 请求和路由 ]

  • 资源路由自动注册的路由规则的时候会记录当前使用的资源标识;
  • 增强请求缓存功能和规则定义,支持全局自动缓存
  • 修正控制器自动搜索的大小写问题
  • 修正路由绑定到命名空间后 类的自动定位
  • 改进Route类的parseRule方法 路由地址中的变量替换不自动去除路由变量
  • 改进控制器自动搜索
  • Route类增加setOption和getOption方法 用于记录当前路由执行过程中的参数信息
  • 优化路由分组方法
  • 改进分组路由的url生成

[ 数据库和模型 ]

  • 一对一关联查询方法支持定义field方法
  • 聚合模型支持设置field属性
  • 改进Query类的alias方法
  • 改进Query类joinview方法的table参数
  • 改进Query类where方法
  • 改进Query类的paginate方法,支持order方法
  • 改进Query类的minmax方法支持日期类型
  • 修正软删除withTrashed方法
  • 优化Connection类的getRealSql方法生成的sql

[ 其它 ]

  • 增加request_cache和request_cache_expire配置参数用于配置全局请求缓存;
  • 修正input助手函数的数组过滤
  • cache助手函数支持清空操作
  • 改进Config类load方法 一级配置名称强制转为小写
  • 修正Url多次生成的问题
  • File类修正某些环境下面无法识别上传文件的问题
  • 改进App类的空操作方法调用
  • 域名部署URL生成不依赖 url_domain_deploy 配置参数
  • 修正Url类域名部署的问题
  • 视图文件目录支持集中式存放 不放入模块目录
  • cache助手函数支持 remember方法
  • Request类的input方法或者input助手函数的filter参数支持传入null 表示不过滤

2016-10-24 V5.0.2

主要调整:

  • 数据库和模型完善;
  • 路由功能完善;
  • 增加yaml配置格式支持;
  • 依赖注入完善;
  • Session类完善;
  • Cookie类完善;
  • Validate类完善;
  • 支持反射类的异常捕获;
  • 修正社区反馈BUG;

[ 请求和路由 ]

  • 依赖注入的类如果定义了invoke方法则自动调用
  • Request类的header方法增加自定义header支持
  • Request类禁止直接实例化调用
  • 改进Request类ip方法
  • 路由变量规则支持闭包定义
  • 路由参数增加ajaxpjax判断
  • 别名路由增加允许和排除操作
  • 改进路由域名绑定后的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版本的md5sha1方法
  • 改进文件缓存驱动的clear方法
  • Lang类增加setLangCookieExpire方法设置多语言cookie过期时间
  • 增加route_complete_match配置参数

[ 调整 ]

下列模型属性和方法由原来的静态(static)定义改为动态定义:

  • 聚合模型的relationModel属性
  • Model类的useGlobalScope属性
  • 全局查询范围方法base改为动态方法
  • 软删除属性 deleteTime属性

2016-9-28 V5.0.1

主要调整:

[ 请求和路由 ]

  • 改进Controller类的successerror方法的跳转地址识别 支持更多Scheme
  • 操作方法和架构方法支持任何对象自动注入
  • Requesst类增加getInput方法 用于获取php://input
  • 路由到方法的时候 支持架构方法注入请求对象
  • 改进Route类路由到类的判断
  • Request增加cache方法,支持请求缓存
  • 绑定到模块后 路由依然优先检查
  • 路由增加请求缓存参数
  • 修正路由组合变量的可选变量的BUG

[ 数据库 ]

  • 修正pgsql数据库驱动的数据表字段信息读取
  • 改进Query类的view方法 第二个参数默认值更改为true 获取全部的字段
  • 数据库配置信息增加query参数用于配置查询对象名称
  • 型类增加query属性用于配置模型需要的查询对象名称
  • 改进数据表字段缓存读取
  • 改进数据表字段缓存生成 模型为抽象类或者 没有继承Model类 不生成字段缓存
  • 改进模型的字段缓存 虚拟模型不生成字段缓存
  • 改进数据表字段缓存生成 支持读取模块的模型生成
  • 改进聚合模型的save方法 主键写入
  • 模型类的field属性定义简化 取消Query类的allowFieldsetFieldType方法及相关属性
  • 改进数据表字段缓存生成 支持生成多个数据库的
  • 更新数据库驱动类 改进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类的md5sha1方法 改为hash方法 支持更多的散列值类型生成
  • 增加response_end行为标签
  • 改进默认语言的加载

2016-9-15 V5.0

[ 请求和路由 ]

  • Request对象支持动态绑定属性
  • 定义了路由规则的URL原地址禁止访问
  • 改进路由规则存储结构
  • 路由分组功能增强,支持嵌套和虚拟分组
  • 路由URL高效反解
  • 改进Request对象param方法获取优先级
  • 路由增加name方法设置和获取路由标识
  • 增加MISS和AUTO路由规则
  • Route类增加auto方法 支持注册一个自动解析URL的路由
  • 路由规则支持模型绑定
  • 路由变量统一使用param方法获取
  • 路由规则标识功能和自动标识
  • 增加生成路由缓存指令 optimize:route
  • Request对象增加route方法单独获取路由变量
  • Request对象的param get post put request delete server cookie env方法的第一个参数传入false 则表示获取原始数据 不进行过滤
  • 改进自动路由标识生成 支持不同的路由规则 指向同一个路由标识,改进Url自动生成对路由标识的支持
  • 改进Request类 filter属性的初始化
  • 改进Request类的isAjax和isPjax方法
  • Request类增加token方法
  • 路由配置文件支持多个 使用 route_config_file 配置参数配置
  • 域名绑定支持https检测
  • 改进域名绑定 支持同时绑定模块和其他 支持绑定到数组定义的路由规则,取消域名绑定到分组
  • 路由规则增加PATCH请求类型支持
  • 增加route_complete_match配置参数设置全局路由规则定义是否采用完整匹配 可以由路由规则的参数complete_match 进行覆盖
  • 改进路由的 后缀参数识别 优先于系统的伪静态后缀参数
  • Url类增加root方法用于指定当前root地址(不含域名)
  • 改进Url生成对可选参数的支持

[ 数据库 ]

  • 查询条件自动参数绑定
  • 改进分页方法支持参数绑定
  • Query类的cache方法增加缓存标签参数
  • Query类的update和delete方法支持调用cache方法 会自动清除指定key的缓存 配合查询方法的cache方法一起使用
  • 改进Query类的延迟写入方法
  • Query类的column和value方法支持fetchsql
  • 改进日期查询方法
  • 改进存储过程方法exec的支持
  • 改进Connection类的getLastInsID方法获取
  • 记录数据库的连接日志(连接时间和DSN)
  • 改进Query类的select方法的返回结果集判断
  • Connection类增加getNumRows方法
  • 数据库事务方法取消返回值
  • 改进Query类的chunk方法对主键的获取
  • 改进当数据库驱动类型使用完整命名空间的时候 Query类的builder方法的问题

[ 模型 ]

  • 增加软删除功能
  • 关联模型和预载入改进
  • 关联预载入查询闭包支持更多的连贯操作
  • 完善savell方法支持更新和验证
  • 关联定义统一返回Relation类
  • Model类的has和hasWhere方法对join类型的支持
  • Model类的data方法 批量赋值数据的时候 清空原始数据
  • Model类的get方法第三个参数传入true的时候会自动更新缓存
  • Model类增加只读字段支持
  • Model类增加useGlobalScope方法设置是否启用全局查询范围
  • Model类的base方法改为静态定义 全局多次调用有效
  • Model类支持设定主键、字段信息和字段类型,不依赖自动获取,提高性能
  • Model类的data方法 支持修改器
  • 改进Relation类对非数字类型主键的支持
  • 改进Relation类的一对多删除
  • 修正Relation类的一对多关联预载入查询

[ 日志和缓存 ]

  • 支持日志类型分离存储
  • 日志允许设置记录级别
  • 增加缓存标签功能
  • 缓存类增加pull方法用于获取并删除
  • cache助手函数增加tag参数
  • 简化日志信息,隐藏数据库密码
  • 增加cache/session redis驱动的库选择逻辑;
  • memcached驱动的配置参数支持option参数
  • 调试模式下面 日志记录增加页面的header和param参数记录
  • memcached缓存驱动增加连接账号密码参数
  • 缓存支持设置complex类型 支持配置多种缓存并用store切换
  • 缓存类增加tag方法 用于缓存标签设置 clear方法支持清除某个缓存标签的数据
  • File类型日志驱动支持设置单独文件记录不同的日志级别
  • 改进文件缓存和日志的存储文件名命名规范
  • 缓存类增加inc和dec方法 针对数值型数据提供自增和自减操作
  • Cache类增加has方法 get方法支持默认值

[ 其它 ]

  • 视图类支持设置模板引擎参数
  • 增加表单令牌生成和验证
  • 增加中文验证规则
  • 增加image和文件相关验证规则
  • 重定向Response对象支持with方法隐含传参
  • 改进Session类自动初始化
  • session类增加pull方法用于获取并删除
  • 增加Env类用于获取环境变量
  • Request类get/post/put等更改赋值后param方法依然有效
  • 改进Jump跳转地址支持Url::build 解析
  • 优化Hook类
  • 应用调试模式和页面trace支持环境变量设置
  • config助手函数支持 config('?name') 用法
  • 支持使用BIND_MODULE常量的方式绑定模块
  • 入口文件自动绑定模块功能
  • 改进验证异常类的错误信息和模板输出,支持批量验证的错误信息抛出
  • 完善console 增加output一些常用的方法
  • 增加token助手函数 用于在页面快速显示令牌
  • 增加halt方法用于变量调试并中断输出
  • 改进Validate类的number验证规则 和 integer区分开
  • optimize:autoload增加对extend扩展目录的扫描
  • 改进Validate类的boolean验证规则 支持表单数据
  • 改进cookie助手函数支持 判断是否存在某个cookie值
  • 改进abort助手函数 支持抛出HttpResponseException异常
  • 改进File类增加对上传错误的处理
  • 改进File类move方法的返回对象增加上传表单信息,增加获取文件散列值的方法
  • 改进File类的move方法的返回对象改为返回File对象实例
  • 增加clear和optimize:config 指令
  • 改进File类和Validate类的图像文件类型验证
  • 控制器的操作方法支持注入Request之外的对象实例
  • Request类 param(true) 支持获取带文件的数据
  • input助手函数第一个参数增加默认值
  • Validate类增加image验证规则 并改进max min length支持多种数据类型
  • json输出时数据编码失败后抛出异常

[ 调整 ]

  • 废除路由映射(静态路由)定义
  • 取消url_deny_suffix配置 改由路由的deny_ext参数设置
  • 模型save方法返回值改为影响的记录数,取消getId参数
  • Request对象controller方法返回驼峰控制器名
  • 控制器前置操作方法不存在则抛出异常
  • Loader类db方法增加name标识参数
  • db助手函数增加第三个参数用于指定连接标识
  • Sqlsrv驱动默认不对数据表字段进行小写转换
  • 移除sae驱动 改为扩展包
  • Oracle驱动移出核心包
  • Firebird驱动移出核心包
  • 取消别名定义文件alias.php
  • 配置参数读取的时候取消环境变量判断 需要读取环境变量的时候使用Env类
  • 环境变量定义文件更改为 .env 由原来的PHP数组改为ini格式定义(支持数组方式)
  • 状态配置和扩展配置的加载顺序调整 便于状态配置文件中可以更改扩展配置的参数
  • 取消域名绑定到路由分组功能
  • 控制器类的success和error方法url参数支持传入空字符串,则不做任何处理
  • 控制器的error success result redirect方法均不需要使用return
  • 创建目录的权限修改为0644

2016-7-1 RC4版本

[ 底层架构 ]

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

[ 数据库 ]

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

[ 模型 ]

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

[ 其它 ]

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

2016-4-23 RC3版本

[ 底层架构 ]

  • 框架核心仓库和应用仓库分离 便于composer独立更新
  • 数据库类重构,拆分为Connection(连接器)/Query(查询器)/Builder(SQL生成器)
  • 模型类重构,更加对象化

[ 数据库 ]

  • 新的查询语法
  • 闭包查询和闭包事务
  • Query对象查询
  • 数据分批处理
  • 数据库SQL执行监听

[ 模型 ]

  • 对象化操作
  • 支持静态调用(查询)
  • 支持读取器/修改器
  • 时间戳字段
  • 对象/数组访问
  • JSON序列化
  • 事件触发
  • 命名范围
  • 类型自动转换
  • 数据验证和完成
  • 关联查询/写入
  • 关联预载入

[ 其它更新 ]

  • 路由类增加快速路由支持
  • 验证Validate类重构
  • Build类增加快速创建模块的方法
  • Url生成类改进
  • Validate类改进
  • View类及模板引擎驱动设计改进
  • 取消模板引擎的模板主题设计
  • 修正社区反馈的一些问题
  • 助手函数重新命名
  • router.php文件位置移动

2016-3-11 RC2版本

  • 重新设计的自动验证和自动完成机制(原有自动验证和完成支持采用traits\model\Auto兼容);
  • 验证类Validate独立设计;
  • 自动生成功能交给Console完成;
  • 对数据表字段大小写的处理;
  • 改进Controller类(取消traits\contorller\View);
  • 改进Input类;
  • 改进Url类;
  • 改进Cookie类;
  • 优化Loader类;
  • 优化Route类;
  • 优化Template类;
  • Session类自动初始化;
  • 增加traits\model\Bulk模型扩展用于大批量数据写入和更新;
  • 缓存类和日志类增加Test驱动;
  • 对异常机制和错误处理的改进;
  • 增加URL控制器和操作是否自动转换开关;
  • 支持类名后缀设置;
  • 取消操作绑定到类的功能;
  • 取消use_db_switch参数设计;

2016-1-30 RC1版本

[ 底层架构 ]

  • 真正的惰性加载
  • 核心类库组件化
  • 框架引导文件
  • 完善的类库自动加载(支持Composer)
  • 采用Traits扩展
  • API友好(输出、异常和调试)
  • 文件命名规范调整

[ 调试和异常 ]

  • 专为API开发而设计的输出、调试和异常处理
  • 日志类支持本地文件/SAE/页面Trace/SocketLog输出,可以实现远程浏览器插件调试
  • 内置trace方法直接远程调试
  • 异常预警通知驱动设计
  • 数据库SQL性能分析支持

[ 路由 ]

  • 动态注册路由
  • 自定义路由检测方法
  • 路由分组功能
  • 规则路由中的变量支持采用正则规则定义(包括全局和局部)
  • 闭包路由
  • 支持路由到多层控制器

[ 控制器 ]

  • 控制器类无需继承controller类
  • 灵活的多层控制器支持
  • 可以Traits引入高级控制器功能
  • rest/yar/rpc/hprose/jsonrpc控制器扩展
  • 前置操作方法支持排除和指定操作

[ 模型 ]

  • 简化的核心模型
  • Traits引入高级模型/视图模型/关联模型
  • 主从分布时候主数据库读操作支持
  • 改进的join方法和order方法

[ 视图 ]

  • 视图解析驱动设计(模板引擎)
  • 所有方法不再直接输出而是返回交由系统统一输出处理
  • 动态切换模板主题设计
  • 动态切换模板引擎设计

[ 数据库 ]

  • 完全基于PDO实现
  • 简化的数据库驱动设计
  • SQL性能监控(需要开启数据库调试模式)
  • PDO参数绑定改进

[ 其他方面 ]

  • 目录和MVC文件自动生成支持
  • I函数默认添加变量修饰符为/s
  • 一个行为类里面支持为多个标签位定义不同的方法
  • 更多的社交扩展类库

还没有评论.