Sailor - Lua 的 MVC 框架


MIT
跨平台
Lua

软件简介

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