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 的提升