Ello,
On 29 May 2002, Randal L. Schwartz wrote:
> >>>>> "Rafiq" == Rafiq Ismail (ADMIN) <[EMAIL PROTECTED]>
writes:
> Rafiq> Is there a neat way of dynamically loading in the appropriate
control
> Rafiq> subclass? Something proven and widely used.
>
> Load the file with a require, and then just call the appropriate
> constructor using an indirect call:
>
> require "My/Prefix/$type"; # presuming $type has no colons
> $myClass = "My::Prefix::$type";
> my $handler = $myClass->new(@parms);
>
> This works even in "use strict".
Thanks. This is pretty much the handler which I'd previously written,
with the the exception of s/use/require/. I'll probably either go with
Apache::Dispatch, using the DispatchRequire option, or write something
custom.
On Wed, 29 May 2002, Perrin Harkins wrote:
> So, you're asking how to map URLs to perl modules? Is there some reason
> you aren't simply using httpd.conf or Apache::Dispatch? In my last MVC
I just took a look at Apache::Dispatch and I get he impression that if I
were to use it then I would have to either PerlModule 'all' my subclasses
beforehand, or alternateively use the DispatchRequire option anyway. I'm
already using StatINC so I'm going to have to do a toss between code which
I've already written and converging to the Apache::Dispatch interface.
I'm not so keen on loading all the inheriting classes into memory
beforehand, nor setting up multiple handlers for each location. It's a
fairly large site and my main concern was to do with how I should store
the correspondence from uri to object.
> design, we had all of our controllers inherit from one base controller
> that held all of the common code.
I could just map from URLs to the specific control subclasses and then use
Dispatch to require them - I'd already started on writing a mapping from
path names to relative namespaces. I was still 'eval/use'ing the
Modules though.
How does StatINC behave with 'required' packages?
Hmm.. it's "make your mind up time. ;)
Thanks for the tips.
Cheers,
Fiq
__
"__ __ _ __ __
| \/ | ___ __| | ___ _ __ _ __ | \/ | __ _ _ __
| |\/| |/ _ \ / _` |/ _ \ '__| '_ \| |\/| |/ _` | '_ \
| | | | (_) | (_| | __/ | | | | | | | | (_| | | | |
|_| |_|\___/ \__,_|\___|_| |_| |_|_| |_|\__,_|_| |_|
a pathetic example of his organic heritage"
- Bad Religion