On 11 May 2008, at 15:18, Matt S Trout wrote:

On Sun, May 11, 2008 at 10:01:47AM +0100, Tomas Doran wrote:

Aha! I had a feeling the reason that someone didn't do that already
is that there was a compelling reason to not do so - I just hadn't
thought about it hard enough..

That's a compelling reason not to rush in, but I still think it's possible.

I didn't really mean it wasn't possible - just that it was harder than just a bit of fiddling with C::DT::Chained (the hardest part of which, to make it 'look like' it's working, for the simple case, is getting the debug table right ;) )

The trick is to provide some way to disambiguate - either a preferred path (which could vary between controllers, say) or maybe passing an arrayref
of action objects indicating the precise chain.

The idea of uri_for having a method of passing uri_for hints which are only valid in one context (i.e. Chained) kinda smells to me, but then implicit behind the scenes magic also scares me... Hmm, I'll have a think / play some more.

Have a think about it and see about an RFC if you're still interested; the trouble is the extra bookkeeping rapidly gets us to the point where the base class + N controllers approach isn't really any more typing anyway,
which is why I've not given this much time yet.

That's totally fair, I'll see how $ork's problem space expands in the next couple of iterations of the code, as I think this is a problem that I'm going to see again when I start exposing more complex objects - if that gets to a point of being painful with inheritance, then I'll re-visit this.

Cheers
Tom

_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to