On 11 May 2008, at 15:17, Aristotle Pagaltzis wrote:
* Tomas Doran <[EMAIL PROTECTED]> [2008-05-11 10:05]:
However, this does mean I now have 3 packages (a base class,
and two controllers), where before I had one file..
There’s nothing stopping you from putting them all in a single
file. :-)
Now, I may be going mad - but this doesn't play for me..
Make a test app, and add the following to the bottom of lib/MyApp/
Controller/Root.pm:
package MyApp::Controller::Foo;
use base qw(Catalyst::Controller);
sub one : Chained('/') PathPart('one') {}
sub two : Chained('one') PathPart('two') {}
sub end : Chained('two') PathPart('end') Args(0) {}
Start the test server.. You don't get any notification about
'MyApp::Controller::Foo' being loaded, and you don't see the chained
actions.
Comment out the 'package' line, and it works as expected. Split
things into files, and it works as expected.
Is this a known / documented bug / limitation?
(as, lets face it - splitting my code into 3 packages and
inheriting *in this case* is, a hack to get round Chained not
playing how I'd like it to)..
And so, as noted - I need to split to 3 files, which is less than
optimum.
Au contraire. Inheritance is part of the language. Why should
Catalyst invent a limited Catalyst-specific parallel mechanism?
I see what you're saying, but I'd consider re-use of controllers as
orthogonal to their dispatch patterns.
To be fair, if I can stuff the 3 relevant controllers into the same
file, then it's all good, and I'm a happy man - however as-is I can't..
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/