On 12/13/05, Mark Stosberg <[EMAIL PROTECTED]> wrote: > On 2005-12-13, Rob Kinyon <[EMAIL PROTECTED]> wrote: > > > > If you don't use any plugins, you'll get the current CA functionality. > > If you do want to use plugins, you can override any single > > functionality that CA uses. By itself. > > I thought we could already do this. "HTDot" plugin is an example of > replacing of the load_tmpl() routine. > > Any other method could replaced in the same way. So we've got > sub-classing, multiple-inheritance, mix-ins and hooks with callbacks. > That's enough flexibility for me.
CGI::Application::run() does too much. You cannot override just one part of it. For example, CAP::Apache has to provide a dummy CGI object that conforms to the param() API. Why? Because $q->param() is hard-coded in run(). In fact, about 60 of the 100+ lines in run() should be pulled out into a do_dispatch_stuff() method. Or, better yet, it should be a hook. Plus, why is determing the runmode connecting to running the runmode connected to sending the output? What if I want to override just one piece of that? Or, what if, like CAP::Apache wants to, I want to override the first and last bits? Here's another thing - what if I know that I don't use 3/4 of the functionality that the determine_runmode() part of run() does for me. Why can't I just override that part and get a relatively significant speed boost? In other words, I personally don't use 90% of CA's runmode determination functionality. I don't want it there, but I don't want to deal with the innards of CA to remove it. Rob --------------------------------------------------------------------- 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]
