LuaTinyCGI サンプル 0.0.1-alpha リリースのお知らせ

LuaTinyCGIは、Luaで伝統的なCGIアプリケーションを書くためのフレームワークです。

http://sourceforge.jp/projects/luatinycgi/

LuaTinyCGI サンプル 0.0.1-alpha をリリースします。これが初めてのリリースです。ドキュメント類は、完全に未整備です。

かなり前に、会社内のWeb稟議システムをLuaで作成しましたが、その時のベース部分をフレームワークとして整備して公開したいと思ってます。まず、いくつかサンプルを作成する中で、フレームワーク部分を整えていきたいと思ってるので、LuaTinyCGI サンプルを細々とリリースしていくつもりです。

特徴

  • apacheにCGIの設定をするだけで動くような、伝統的なCGIアプリケーションを、Luaで作成するために利用できるフレームワークです。
  • CGILuaというフレームワークのコードを利用してます。
  • 現状、view側の機能のみです。要するに、struts1の担当範囲と同じです。
  • DBアクセスに関するサポートクラスも提供予定です。(SQL大好きな感じのものになります)

サンプル

足し算ができるようになりました。

f:id:smeghead:20100612225239p:image

アクションのコードは以下のような感じです。

module(..., package.seeall)function index(request, response)return {forward = "./lp/calc/index.lp"}endfunction plus(request, response)return {forward = "./lp/calc/plus.lp"}endfunction plus_submit(request, response)local env = { a = request.QUERY.a or 0, b = request.QUERY.b or 0}require "validate" env.errors = validate.validate {['A'] = {[validate.required] = env.a,[validate.num] = env.a,},['B'] = {[validate.required] = env.b,[validate.num] = env.b,},}if #env.errors > 0 thenreturn { forward = "./lp/calc/plus.lp", env = env
    }end env.answer = env.a + env.b
  return { forward = "./lp/calc/plus.lp", env = env }end

近代的なフレームワークと比べると、ずいぶん冗長に感じられますが、今は、こんな状態になってます。

今後は、他のもうちょっと現実的なアプリを作りながら、進めたいです。難しすぎず、サンプルに良さそうな課題を探してることろです。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください