utron Go 的 MVC 框架开源项目

我要开发同款
匿名用户2015年09月27日
52阅读
所属分类Google Go、Web应用开发、Web框架
授权协议MIT

作品详情

utron是一个Go语言轻量级的MVC框架,用于快速构建可伸缩以及可靠的数据库驱动的Web应用。

特性:

Postgres,MySQL和Foundation数据库支持

模块化

支持中间件,所有alice兼容的中间件都可以使用

Gopherspirit(可使用Go语言的其他库)

轻量级,只包含MVC

支持多配置文件,包括json、yaml和toml

控制器示例代码:

package controllersimport (    "net/http"    "strconv"    "github.com/gernest/utron"    "github.com/gernest/utron/fixtures/todo/models"    "github.com/gorilla/schema")var decoder = schema.NewDecoder()type TODO struct {    *utron.BaseController    Routes []string}func (t *TODO) Home() {    todos := []*models.Todo{}    t.Ctx.DB.Order("created_at desc").Find(&todos)    t.Ctx.Data["List"] = todos    t.Ctx.Template = "index"    t.HTML(http.StatusOK)}func (t *TODO) Create() {    todo := &models.Todo{}    req := t.Ctx.Request()    req.ParseForm()    if err := decoder.Decode(todo, req.PostForm); err != nil {        t.Ctx.Data["Message"] = err.Error()        t.Ctx.Template = "error"        t.HTML(http.StatusInternalServerError)        return    }    t.Ctx.DB.Create(todo)    t.Ctx.Redirect("/", http.StatusFound)}func (t *TODO) Delete() {    todoID := t.Ctx.Params["id"]    ID, err := strconv.Atoi(todoID)    if err != nil {        t.Ctx.Data["Message"] = err.Error()        t.Ctx.Template = "error"        t.HTML(http.StatusInternalServerError)        return    }    t.Ctx.DB.Delete(&models.Todo{ID: ID})    t.Ctx.Redirect("/", http.StatusFound)}func NewTODO() *TODO {    return &TODO{        Routes: []string{            "get;/;Home",            "post;/create;Create",            "get;/delete/{id};Delete",        },    }}func init() {    utron.RegisterController(NewTODO())}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论