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