Stefan Kühn wrote: > I would like to provide functionality to multiple controllers.
Base classes. Common code goes in a base class:
package YourApp::BaseController::Foo;
use base 'Catalyst::Controller';
sub some_method {}
sub some_action :Attributes Are OK {}
1;
Then:
package YourApp::Controller::Bar;
use base 'YourApp::BaseController::Foo';
# now you have some_method and some_action
Finally, use __PACKAGE__->config to your advantage.
I have a good example of controller subclassing here:
http://search.cpan.org/src/JROCKWAY/Catalyst-Model-Adaptor-0.01/t/lib/TestApp/BaseController/Adaptor.pm
That base class is used in a few places:
http://search.cpan.org/src/JROCKWAY/Catalyst-Model-Adaptor-0.01/t/lib/TestApp/Controller/Adaptor.pm
http://search.cpan.org/src/JROCKWAY/Catalyst-Model-Adaptor-0.01/t/lib/TestApp/Controller/Factory.pm
http://search.cpan.org/src/JROCKWAY/Catalyst-Model-Adaptor-0.01/t/lib/TestApp/Controller/PerRequest.pm
Pretty nice, eh?
Regards,
Jonathan Rockway
signature.asc
Description: OpenPGP digital signature
_______________________________________________ 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/
