MENTAを使ってみる

MENTAを使ってみた。簡単にセットアップできていい感じです。
app/controller以下のフォルダ階層を3階層目以上深く掘って.plファイルを作成しその中でrun関数を定義して動作確認をしたところ以下のようなエラーが発生した。

Might be a runaway multi-line // string starting on line 3

フォルダ階層を1階層もしくは2階層に上げたところ問題なく動作したのでMENTAのバグだろうか?
引き続き使ってみる。

  • apachehttpd.confに以下のような記述を入れる。(menta.cgiを見せたくない場合はrewrite ruleでよしなに設定する方がよいと思う。)
    <Directory /var/www/html/menta>
        DirectoryIndex menta.cgi
        Options ExecCGI
        <FilesMatch "(\.(mt|p[lm])|~)$">
            Order deny,allow
            Deny from All
        </FilesMatch>
    </Directory>
  • menta.cgiの中に直接プログラムを記述しない。保守性の観点からmenta.cgiは変更の可能性もあるため。
  • 本番環境におく前にはdemoなどのチュートリアルフォルダを削除する必要がある
  • デフォルトでは公開ディレクトリにsqliteファイルがおかれるような設定になっているので非公開フォルダに移した方がよい。
  • app/controller以下にURL構成に従って.mtファイルもしくは.plファイルを配置していく
  • 簡単なページであれば.mtファイルでよいと思うが、.plファイルにロジックを記述してrender関数でテンプレート処理を任せる方が常に一方向の呼び出しとなってよいと思う。
  • .mtファイル内からはpluginフォルダに記述されたメソッドを呼び出すことができる。
  • .plファイル内でuse MENTA::Controller;を記述しておくと、いろいろ便利な関数が呼び出せる。
escape_html unescape_html raw_string config render param mobile_agent uri_for static_file_path docroot AUTOLOAD redirect is_post_request render_and_print redirect finalize upload current_url