moving to a new thread, since there are multiple issues in the other one...

> In most languages, defining class A methods in class B would not even be
> allowed, and I kind of wish it wasn't allowed in Perl either so we
> wouldn't have to have this discussion.

good thing Perl isn't most languages ;)

>> mod_perl is access to the Apache C API in
>> Perl - the more they look the same (and the more people that understand
>> this) the better.
>>  
>>
> 
> Obviously keeping these close is good for development of mod_perl, but
> no one is going to use mp2 if the API is confusing and difficult. 

well, I don't think it's either, really.  I'll grant you that there is a bit
of an initial learning curve wrt the module loading that at first feels
quite painful (remember my NYC talk started with how all this sucks :)

really, the API is quite nice: all request-time functions are $r object
methods.  that's what makes the mod_perl wrapper for Apache as it exists now
so great - it's Perlish.  doing something like
Apache::RequestUtil::is_initial_req($r) (or whatever variant) is not very
Perlish.

> Remember, most people programming mod_perl applications have never even
> looked at the C API, and I don't think there's anything wrong with
> that. 

me neither.  I do think they would understand it better if they looked at is
as a wrapper, though, but that's neither here nor there.

> Doug seemed to recognize that an easy Perl API is a necessity
> when he designed the simple filter stuff.

yes, and I think that's what users have now with $r.

granted, $r is not a typical Perl object, but it can't be - $r is the same
object throughout the entire request, which is odd in and of itself.  it
also has no real constructor, especially in mp2 where Apache->request
doesn't always work.  and you can't subclass $r's underlying class the same
way you can normal Perl objects.

but I think all of this is ok - persistent, complex environments like
mod_perl have their quirks.  and, as I said before, there isn't much
different here than there was in mp1 wrt classes that add methods to $r,
just a bit more of it.

--Geoff


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to