CGI::Application::Dispatch v2.00_01
CGI::ApplicationのMLでCGI::Application::Dispatchのv2.00_01がでてます。
svnで取得できます。
svn://svn.cromedome.net/CGI-Application-Dispatch
新しいdispatch tableがいい感じ。
今までは、PATH_INFOが
/Module/Runmode
で固定でしたが、これをいじる事ができます。
dispatchのカスタマイズをするにはCGI::Application::Dispatchを継承してdispatch_argsをoverrideします。
package MyApp::Dispatch; use base 'CGI::Application::Dispatch'; sub dispatch_args { return { prefix => 'MyApp', table => [ '' => { app => 'Welcome', rm => 'start' }, :app/:rm' => { }, 'admin/:app/:rm' => { prefix => 'MyApp::Admin' }, ], }; } package main; MyApp::Dispatch->dispatch;
tableの中身は
PATH_INFO => Local設定のhashref
の配列です。PATH_INFO中で
:app = Module
:rm = Runmode
:foo = $self->param('foo')で取得可能
になります。Local設定では、prefixやModule、Runmodeを指定可能っす。
これは結構便利なんじゃないでしょうか。