Ed, I keep a small example which takes each component thru to tested modules with documentation in pod so you see the development cycle for a base class:
http://www.geocities.com/leapingfrog/perl/perl.html I hope that helps, I should create on for the newer style of plugins unless someone has already done that for the Perl presentations ... David Scott --- Ed Pigg <[EMAIL PROTECTED]> wrote: > > On Apr 24, 2006, at 12:56 PM, Michael Peters wrote: > > > Cees Hek wrote: > >> On 4/24/06, Ed Pigg <[EMAIL PROTECTED]> > wrote: > >>> So how I put things like session initialization, > database > >>> connection, > >>> etc.. in the SUPER::cgiapp_init sub. So my SUB > CLASS would be > >>> something like > >>> > >>> sub cgiapp_init { > >>> my $self = shift; > >>> $self->SUPER::cgiapp_init(@_); > >>> $self->start_mode(); > >>> $self->run_modes( ... ); > >>> } > >> > >> Yes, that would work. But if you are doing stuff > like session init > >> and database connections, and you are sure you > want to do this on all > >> requests, for every runmode, then I would suggest > using Michael's > >> suggestion and set up a callback (which will > always run regardless of > >> what you do in the subclass). That is safer, > since you don't have to > >> remember to add that SUPER call in the subclass > everytime. > >> > >> __PACKAGE__->add_callback(init => \&_my_init); > > > > If you're just doing the standard stuff (session > initialization, db > > connection, etc) there are plugins that will take > care of that for > > you. > > One of the biggest benefits of those plugins is > that most of them do > > lazy loading, so no db connection is created until > you use it. > > > > It is probably a combination of too much caffine, > not enough sleep, > eye's bleary from looking through docs and code, but > I think I made a > fundamental error in my example that, when I correct > it, will make > things much clearer. > > I will keep cgiapp_init in the base class and this > will handle the > cgiapp_init for the sub classes. My example used > cgiapp_init sub in > the subclass, there by overriding the base class > cgiapp_init. What I > really want to do is override setup. Duh!! > > Thanks for all of your help and insight Michael, > Cees, and Jaclyn. > > Ed Pigg > > --------------------------------------------------------------------- > Web Archive: > http://www.mail-archive.com/[email protected]/ > > http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2 > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --------------------------------------------------------------------- Web Archive: http://www.mail-archive.com/[email protected]/ http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2 To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
