GoFrame v1.2.11发布了! 新特性ORM 新增对SQLServer 及Oracle 的支持(https://gfer.me/database/orm/database);
完成gvalid 模块校验结果的顺序特性(https://gfer.me/util/gvalid/checkmap); 改进ghttp.Request.Exit ,使得调用该方法时立即退出业务执行,开发者无需调用Exit 方法时再使用return 返回(https://gfer.me/net/ghttp/service/object); 模板引擎新增若干内置函数:text/html/htmldecode/url/urldecode/date/compare/substr/strlimit/hidestr/highlight/toupper/tolower/nl2br (https://gfer.me/os/gview/funcs); 模板引擎新增内置变量Config (https://gfer.me/os/gview/vars); 改进gconv.Struct 转换默认规则,支持不区分大小写的键名与属性名称匹配; gform 配置文件支持linkinfo 自定义数据库连接字段(https://gfer.me/database/orm/config);
gfsnotify 模块增加对特定回调的取消注册功能(https://gfer.me/os/gfsnotify/index);
新功能改进ghttp.Request ,增加SetParam/GetParam 请求流程自定义变量设置/获取方法,用于在请求流程中的回调函数共享变量(https://gfer.me/net/ghttp/request); 改进ghttp.Response ,增加ServeFileDownload 方法,用于WebServer引导客户端下载文件(https://gfer.me/net/ghttp/response); gvar 模块新增gvar.VarRead 只读接口,用于控制对外只暴露数据读取功能;
增加g.Throw 抛异常方法,g.TryCatch 异常捕获方法封装; 改进gcron 模块,增加自定义的Cron管理对象,增加New/Start/Stop 方法;
功能改进WebServer添加RouterCacheExpire 配置参数,用于设置路由检索缓存过期时间; WebServer允许同一HOOK 事件被多次绑定注册,先注册的回调函数优先级更高(https://gfer.me/net/ghttp/service/hook); 当前工作目录为系统临时目录时,gcfg /gview /ghttp 模块默认不添加工作目录到搜索路径; 改进WebSocket 默认支持跨域请求(https://gfer.me/net/ghttp/websocket); 改进gtime.Format 支持中文; 改进gfsnotify ,支持编辑器对文件非执行标准编辑时(RENAME+CHMOD)的热更新问题; 改进gtype.Set 方法,增加Set原子操作返回旧的变量值; gfile.ScanDir 增加支持pattern 多个文件模式匹配,使用', '符号分隔多个匹配模式;
gcfg 模块增加获取配置变量为*gvar.Var ;
gstr 模块增加对中文截取方法;
改进gtime.StrToTime 对常用时间格式匹配模式,新增gtime.ParseTimeFromContent 方法; 修改配置管理、模板引擎、调试模式的环境变量名称为大写下划线标准格式; 改进grand 模块随机数生成设计,底层使用crypto/rand +缓冲区实现高速的随机数生成(https://gfer.me/util/grand/index);
问题修复修复gspath 模块在windows 下搜索失效问题; 修复gspath 模块Search时带有indexFiles的检索问题; bug fix INZS1(https://gitee.com/johng/gf/issues/INZS1); 修复gproc.ShellRun 在windows下的执行问题;
GF(Go Frame) 是一款模块化、松耦合、轻量级、高性能的Go应用开发框架。支持热重启、热更新、多域名、多端口、多服务、HTTP/HTTPS、动态路由等特性
,并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、服务注册、配置管理、模板引擎、数据校验、分页管理、数据库ORM等等等等,
并且提供了数十个内置核心开发模块集,如:缓存、日志、时间、命令行、二进制、文件锁、内存锁、对象池、连接池、数据编码、进程管理、进程通信、文件监控、定时任务、TCP/UDP组件、
并发安全容器等等等等等等。
安装go get -u gitee.com/johng/gf 限制golang版本 >= 1.9.2 架构
特点轻量级、高性能,模块化、松耦合设计,丰富的开发模块; 热重启、热更新特性,并支持Web界面及命令行管理接口; 专业的技术交流群,完善的开发文档及示例代码,良好的中文化支持; 支持多种形式的服务注册特性,灵活高效的路由控制管理; 支持服务事件回调注册功能,可供选择的pprof性能分析模块; 支持配置文件及模板文件的自动检测更新机制,即修改即生效; 支持自定义日期时间格式的时间模块,类似PHP日期时间格式化; 强大的数据/表单校验模块,支持常用的40种及自定义校验规则; 强大的网络通信TCP/UDP组件,并提供TCP连接池特性,简便高效; 提供了对基本数据类型的并发安全封装,提供了常用的数据结构容器; 支持Go变量/Json/Xml/Yml/Toml任意数据格式之间的相互转换及创建; 强大的数据库ORM,支持应用层级的集群管理、读写分离、负载均衡,查询缓存、方法及链式ORM操作; 更多特点请查阅框架手册和源码;
文档https://gfer.me 使用package main
import (
"gitee.com/johng/gf/g"
"gitee.com/johng/gf/g/net/ghttp"
)
func main() {
s := g.Server()
s.BindHandler("/", func(r *ghttp.Request) {
r.Response.Write("Hello World")
})
s.Run()
} |