发布于 2014-11-05 07:17:00 | 712 次阅读 | 评论: 0 | 来源: 网友投递
Beego Go应用框架
beego是一个开源的用Go开发的应用框架,思路来自于tornado,路由设计来源于sinatra,
让大家久等了,这个版本新功能和bugfix都挺多,但是我还是只更新了一个小版本,等着Go1.4跟上来,打算和Go的版本去同步。
beego是一个开源的用Go开发的应用框架,思路来自于tornado,路由设计来源于sinatra,
新功能:
增加了SQL构造器,参考了ZEND框架的ORM
Controller获取参数增加了GetInt(), GetInt8(), GetInt16(), GetInt32(), GetInt64()
优化日志提示提示,增加日志输出过滤设置FilterHandler,默认静态文件不输出匹配日志输出
静态目录支持index.html输出,静态目录自动增加/
flash支持success和set函数,支持各种一次性的数据
路由支持大小写忽略设置,RouterCaseSensitive, 默认是大小写敏感的URL,根据用户注册的URL进行匹配
配置文件支持自定义的变量获取,beego.AppConfig.String(“myvar”)在dev下返回456,在其他模式下返回123
runmode = dev
myvar = 123
[dev]
myvar = 456
ini配置文件支持include语法,在配置文件中允许include其他配置文件:
appname = btest
include b.conf
utils下增加分页组件,可以方便用户编写分页相关的应用。
增加BEEGO_RUNMODE环境变量,用户在部署的时候只要通过改变量方便切换应用的不同模式
toolbox增加获取statistic的Json函数
utils下的mail发送内嵌附件发送
允许用户通过标准IO开启fastcgi
redis Session引擎,采用SETEX命令兼容老版本的redis
RenderForm支持html id和class,使用id和class tag
ini配置文件支持BOM头
Session增加新的引擎ledis
改进httplib文件上传,采用了io.Pipe支持超大文件上传
支持应用启动直接绑定到TCP4地址上,Go默认是绑定到ipv6,增加配置参数ListenTCP4
表单数据渲染支持off/on/yes/no/1/0解析到bool,支time格式的解析
简化了SessionID的生成,不在采用hmac_sha1算法,直接通过golang内置的rand获取
bugfix:
模拟PUT和DELETE时,_method的值没有大写,导致XSRF验证失败
cache如果在StartAndGC初始化失败时,没有返回错误信息
httplib修复User-Agent设置不起作用
DelStaticPath优化/处理
静态目录多个的时候,文件只会在第一个静态目录找
Filter函数在AfterExec和FinishRouter之后多个Filter不能执行的问题
修复在请求方法是模拟的_method是PUT或者DELETE的时候无法正确路由
修复了mime没有初始化的问题
log输出文件以及行号不正确
httplib修复了当只有一个文件上传一个参数是不能发送的问题
改进了Abort的输出信息,之前如果是没有定义的错误信息不会输出
修复namespace循环嵌套中,如果外层没有Filter的情况下内层Filter无法添加的问题
路由包含多层参数时,路由匹配出错 #824
注释路由,如果存在多个namespace的时候,一个更新,另一个信息丢失 #770
urlfor函数调用多余{{placeholder}}问题 #759
beego是一个用Go开发的应用框架,思路来自于tornado,路由设计来源于sinatra,支持如下特性
MVC
REST
智能路由
日志调试
配置管理
模板自动渲染
layout设计
中间件插入逻辑
方便的JSON/XML服务
官网 http://beego.me