タグ

ブックマーク / ziguzagu.org (3)

  • CGI::App::Plugin::TTでテンプレートファイル名の自動生成

    CGI::Application::Plugin::TTのTEMPLATE_NAME_GENERATORオプションを使って、テンプレートファイル名を自動的に生成する、というのをやってみました。 デフォルトのジェネレーターは、パッケージ名をそのまま使うので ディレクトリ名に大文字があってなんかキモイ 名前空間の先頭パッケージ名もディレクトリ名に含まれるのがなんか冗長 という点がちょっといまいちです。たとえば、MyApp::Fooクラスのbarメソッドが呼び出された場合は、 package MyApp; use strict; use warnings; use base qw/CGI::Application/; use CGI::Application::Plugin::TT; use CGI::Application::Plugin::Stash; use CGI::Applicatio

  • CGI::Application::Dispatch勉強中その2

    周辺のちょっとしたものも含めてだいたい把握した気がするCGI::Application::Dispatch。便利です、すごく、とても。 ただ、今までCGI::Applicationを使う時はPATH_INFOを使わず、テンプレートファイルはインスタンスCGIと同じパスにおいてたので、テンプレートファイルをどこかひとつのディレクトリ以下にまとめる(CGI::Application::tmpl_path())、というのに全然まだ慣れません。 インスタンスCGIとテンプレートファイルを同じディレクトリにおくと、「URIの階層=ファイルのありか」になるので、HTML内のリンクを相対パスで書くのも気になりませんでした。 でも、CGI::Application::Dispatchを使う場合は、PATH_INFO形式を利用することが前提なうえ、URIが全部、 http://example.com/dis

  • CGI::Application::Dispatchまとめ : おまえのログ

    ここ1ヶ月ほど(ながいなぁ…)、ちまちまと勉強してきたCGI::Application::Dispatchについて、使い方もこなれて来たので、ここいらでひとまとめです。 何するモジュール? この勉強中エントリーの1回目でも書きましたが、CGI::Applicationを利用したアプリで必要になるインスタンスCGIは作らずに、URI(PATH_INFO)から実行するモジュールとRunモードを決定する、というモジュールです。newしてrunするだけのインスタンスCGIなんか毎回書きたくないよ、というのがモジュール作者さんの意図のようです(PODにもあります)。 URIはこうなる CGI::Application::Dispatchを使った場合のURIは、 となります。 CGI::Applicationを継承したMyApp::Indexというモジュールを作った場合、それを実行するためのURIを比

  • 1