[cgiapp] Runmodes in separate modules
Victor Bruno
vicdamone at gmail.com
Sat Sep 5 13:33:32 EDT 2009
I am new to cgi-app (titanium) and am hoping someone can give me some help
on runmode Controller routines. I don't like the idea of having all of my
controller runmode code in the base module. I will have dozens of runmodes.
I would like to be able to separate my runmodes into logical modules, but I
am not sure how to get that to work.
This works:
# dashboard runmode in MyApp.pm
MyApp.pl:
#!/usr/local/bin/perl
use strict;
use lib 'lib';
use MyApp;
my $webapp = ReliaWeb->new();
$webapp->run();
lib/MyApp.pm:
package MyApp.pm;
use base 'Titanium';
use CGI::Application::Plugin::ActionDispatch;
sub setup {
my ($self) = @_;
return;
}
sub display_dashboard : Path('dashboard/') {
return
qq{<html><body>Dashboard</body></html>}; #Testing runmode
}
##############################################################
Here is what I want to do instead but does not work this way:
# (dashboard runmode in its own module)
MyApp.pl: [no change]
lib/MyApp.pm:
package MyApp.pm;
use base 'Titanium';
use MyApp::Admin::Dashboard;
sub setup {
my ($self) = @_;
return;
}
lib/MyApp/Admin/Dashboard.pm:
package Dashboard:
use base 'MyApp';
use CGI::Application::Plugin::ActionDispatch;
sub display_dashboard : Path('dashboard/') {
return
qq{<html><body>Dashboard</body></html>}; #Testing runmode
}
#############################################################
Thanks in advance for any guidance you can provide.
Victor
More information about the cgiapp
mailing list