各位gfer
久等了,较上一次发布时间过去已有两个多月了,这段时间GoFrame
也在不断地迭代改进,细节比较多,拟了个大概,以下是release log
。
另外,GoFrame
也参加了2019最受欢迎中国开源软件评选投票,明天就结束了,欢迎为GoFrame
投票啊:https://www.oschina.net/project/top_cn_2019 网页可以投一票,微信也可以投一票。
WebServer
新特性:Session
增加内置的多种Storage
实现:container
容器增加JSON
数据格式的Marshal
/UnMarshal
接口实现:guuid
模块,用于通用的UUID
生成:https://goframe.org/util/guuid/indexnet
ghttp
Server
增加对Logger
日志对象的配置;Server
开放了GetRouterMap
方法,用于获得当前服务的路由列表信息,使得开发者可以更方便地实现自定义权限管理;Server
配置管理优化;Client
客户端对象进行了大量的改进工作;Client
客户端对象增加多文件上传功能;Request
对象增加GetError
方法,用于获取当前处理错误;Request
对象增加独立的视图对象及视图变量绑定功能,使得每个请求可以独立视图管理,也可以通过中间件切换请求对象的视图对象。默认情况下该功能关闭,视图解析时使用的是Server
对象的视图对象;Response
对象的CORS
功能;Response.WriteTplDefault
方法,用于解析并返回默认的模板内容;gipv4
/gipv6
gtcp
/gudp
database
gdb
sql.ErrNoRows
错误返回,保留Struct
/Structs
/Scan
方法在操作数据为空的该错误返回;Where
方法增加对gmap
数据类型支持,包括顺序性的ListMap
/TreeMap
等等;Cache
的缓存时间参数类型修改为time.Duration
;Record
/Result
的数据类型转换方法名称,原有的转换方法标记为deprecated
;Record
/Result
查询结果类型增加IsEmpty
方法,用于判断结果集是否为空;Record
类型增加GMap
方法,用于将查询记录转换为gmap
类型;Option
/OptionOmitEmpty
方法,用于输入参数过滤,包括Data
参数及Where
参数:https://goframe.org/database/gdb/emptyFieldsEx
:https://goframe.org/database/gdb/seniorgredis
os
gcache
interface{}
类型调整为了time.Duration
类型,因此不再兼容之前的int
参数类型,以保证更好的性能;gfcache
gcache
组件的缓存时间参数类型的变更,因此该组件的时间参数也变更为了time.Duration
类型;gcfg
Available
方法,用以判断配置是否有效;gfile
Chdir
方法,用于工作目录切换;gtime
JSON
数据格式的Marshal
/UnMarshal
接口实现;container
gmap
MapStrAny
方法,用于常见map
类型的转换;MapCopy
方法,用于底层map
数据复制;FilterEmpty
方法,用于map
空值过滤;Pop
/Pops
方法,用于随机返回map
中的数据项(并删除);Replace
方法,用于给定的map
数据覆盖底层map
数据项;garray
Interfaces
转换方法,返回[]interface{}
类型;SetComparator
方法用户自定义修改比较器;glist
NewFrom
方法,基于给定的[]interface{}
变量创建链表;Join
方法,用于将链表项使用给定字符串连接为字符串返回;gset
AddIfNotExistFunc
/AddIfNotExistFuncLock
方法;gtree
Replace
方法,用于更新现有树的数据项;gtype
gvar
Ints
/Uints
类型转换方法;crypto
gmd5
gsha1
text
gstr
SplitAndTrim
方法,将SplitAndTrimSpace
标记为deprecated
;TrimStr
方法;debug
gdebug
CallerFileLineShort
/FuncPath
/FuncName
方法;encoding
gbase64
EncodeToString
/EncodeFile
/EncodeFileToString
/DecodeToString
方法;gjson
frame
g
/gins
CreateVar
方法;util
gconv
Uints
/SliceUint
类型转换方法;UnsafeStrToBytes
/UnsafeBytesToStr
高性能的类型转换方法;MapStrAny
接口方法的支持,用于常见map
类型的转换;gvalid
luhn
银行卡号的校验功能;grand
WebSocket
关闭时的hijacked
报错问题:https://github.com/gogf/gf/issues/381Nginx
后默认情况下的Cookie
域名设置问题;gconv.Struct
在属性为[]struct
并且输入属性参数为空时的转换失败问题:https://github.com/gogf/gf/issues/405