Lua 语言的 MVC 编程框架,Sailor 0.4 发布

jopen 9年前

Sailor 是一个 Lua 语言的 MVC 编程框架。支持跨平台,兼容 mod_lua 或者 mod_pLua, Nginx 的 ngx_lua, 或者任何支持 CGI 的 Web 服务器,如 Civetweb 或者 Mongoose, 前提是必须有 CGILua

使用 Sailor 开发应用的目录结构如下:

  • /conf - 存放配置文件

  • /controllers - 控制器

  • /layouts - 布局文件

  • /models - 模型

  • /pub - 静态文件

  • /runtime - 运行时生成的临时文件

  • /views - .lp 视图文件

示例代码:

local site = {}  function site.index(page)    local foo = 'Hello world'    local User = sailor.model("user")    local u = User:new()    u.username = "etiene"    u.password = "a_password"    local valid, err = u:validate() -- validate() will check if your attributes follow the rules!    if not valid then      foo = "Boohoo :("    end      -- Warning: this is a tech preview and some methods of model class do not avoid SQL injections yet.    page:render('index',{foo=foo,name=u.username}) -- This will render /views/site/index.lp and pass the variables 'foo' and 'name'  end  function site.notindex(page)    page:write('Hey you!')  end  return site


Sailor 0.4 发布了,该版本集成了 Busted 和一个测试模块,提供单元和功能测试;同时修复了一些 bug 。接下来的主要工作是:


  • 提升客户端的 Lua 编码

  • 集成 mod_lua 的 DB API 和 DB 模块

  • ORM 的提升

https://github.com/Etiene/sailor