Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

OSC最佳开源项目评选开始了,如果您喜欢GoFrame,欢迎为GoFrame投上您宝贵的一票🙏 https://www.oschina.net/p/goframe

Change Log

由于GoFrame是模块化设计,因此每个版本的更新记录都会以模块的形式进行介绍。

重要更新:

...

  1. 将框架内所有的json操作从标准库替换为json-iterator/go,提高操作效率。

...

  1. 缓存模块重构底层设计,增加适配器设计模式,并增加内存及Redis适配器支持。其中内存适配器默认核心模块提供,Redis适配器由社区模块提供:https://goframe.org/os/gcache/adapter

...

  1. 增加可自定义的校验规则注册特性:https://goframe.org/util/gvalid/customrule

...

  1. Web Server增加所有配置项示例:https://goframe.org/net/ghttp/config/example

...

  1. ORM新增基于RedisSQL缓存适配器:https://goframe.org/database/gdb/model/cache

...

  1. ORM新增模型关联实验特性:https://goframe.org/database/gdb/model/association

...

  1. ORM改进时间自动更新特性增加自定义时间字段:https://goframe.org/database/gdb/model/auto-time

...

  1. 错误处理模块新增CurrentNext方法:https://goframe.org/errors/gerror/index

net

  1. ghttp
    • Client
      • 增加GetVar/PutVar/PostVar*Var请求方法,用于发起HTTP请求获取内容之后直接返回泛型对象,方便类型转换,特别是针对于返回XML/JSON的结果处理将会更加简便:https://goframe.org/net/ghttp/client/demo/index
      • 增加SetProxy/Proxy方法,用于设置客户端代理,支持HTTP/Socket5代理类型:https://goframe.org/net/ghttp/client/demo/proxy
      • 增加SetRedirectLimit/RedirectLimit方法,用于设置页面跳转数量限制。
    • Request
      • 增加ParseQuery, ParseForm方法,用于解析指定类型的参数,并绑定到给定的对象。
      • 增加GetHeader方法,用于获取指定Header参数。
      • 增加GetRemoteIp方法,用于获取请求客户端IP。在IP白名单限制时应当使用GetRemoteIp而不是GetClientIp进行判断,后者可以通过Header伪造。
      • 增加ReloadParam方法,往往用在中间件处理中,当中间件修改了请求参数,需要通过调用该方法重新解析一下请求参数。
      • 增加GetRouterMap方法,用于获得所有的路由参数返回为map
    • Response
      • Output方法名称改为Flush,用于将缓冲区的数据写入到客户端数据流中。
    • Server
      • Server增加所有配置项示例:https://goframe.org/net/ghttp/config/example
      • 增加SessionCookieOutput配置,用于控制是否输出SessionIdCookie中,默认为开启。
      • 改进路由解析,增加对URI带有重复的/符号的支持。
      • Pprof功能路由支持Domain绑定。
      • 其他一些细节改进。
    • Cookie
      • 增加SetHttpCookie方法,用于根据标准库http.Cookie对象设置Cookie
      • 其他一些功能改进

...