介绍

http://keplerproject.github.io/orbit/

Orbit是lua语言版本的MVC框架。

此框架完全抛弃CGILUA的脚本模型, 支持的应用, 每个应用可以卸载一个单独的文件中,当然你也可以将它拆为一个文件, 当你需要时候。

此框架运行在WSAPI协议的服务器上,所以可以工作在 Xavante和一些CGI和fastcgi程序上。

安装运行

http://keplerproject.github.io/orbit/example.html

此程序依赖 sqlite。

安装:

luarocks search sql

apt-get install sqlite3

luarocks install luasql-sqlite3 SQLITE_DIR=/usr/local

运行

lua MVC框架 Orbit初探-LMLPHP

使用firefox sqlite插件, 查看db

lua MVC框架 Orbit初探-LMLPHP

APP接口

使用orbit.new则构造了一个APP环境, 此环境可以引用全局变量,

同时还定义了 blog应用继承了 orbit项目的接口, 例如路由的get接口  dispatch_get

Creating Models

模型角色负责从数据库中查询数据, 后者新建和修改数据。

Defining Controllers

对于请求的URL,执行访问什么数据, 怎么响应。 访问数据调用model对象, 响应内容可以是html, 也可以是 xml json等。

GET请求一个URL,调用模型获取数据

POST修改数据, 调用模型,保存数据 。

Views: Generating HTML

视图定义的一个简单函数, 在函数中生成视图内容,例如HTML。

可以直接从控制器中返回,渲染的内容, 但是这里还是建议分离控制器和视图,这是一个好的编程实践。

你可使用concat将字符串拼接为视图结果, 也可以使用一个第三方的模板库, 将从model中获取的数据, 使用模板引擎渲染到模板中。

orbit提供了使用的 HTML和XML生成器 orbit.htmlify, 但是你也可以自由选择其它的你想用的方法。

orbit.htmlify

 
 

cosmo后台模板引擎

MVC架构中一直提到数据和视图分离,

如果使用orbit.htmlify模式, 则只能写出符合DOM结构化的lua代码, 对于前端代码如果能用HTML方式书写,类似JSP格式, 也比orbit提供的这种方式好维护, 前端更加方便定制。

看看lua的后台模板引擎

http://cosmo.luaforge.net/

04-14 12:33