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]

Reply via email to