Hello!
2015-04-03 6:39 GMT-07:00 付海清:
> 现在就是controller里面,也就是 content_by_lua_file /controller.lua 这个文件里面
>
> 逻辑很清楚,但就是代码写特别的乱,大量的重复如下代码:
>
> local res, err = ......
>
> if not res then
> ngx.log(ngx.ERR, err)
> return ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
> end
>
> local _, err = ......
> if err then
> ngx.log(ngx.ERR, err)
> return ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
> end
> 最长的一个controller里面有差不多200行lua脚本。我很想重构一下这里,有没有基于openresty的MVC框架啊?
貌似你可以很容易地通过一个入口 Lua 函数或 Lua 模块来统一进行这样的错误处理和控制流分发。
值得一提的是,可以参考 Lapis:
http://leafo.net/lapis/
虽然我个人觉得 Lapis 本身稍微有些重,但值得参考。
Regards,
-agentzh