[Catalyst] Refactoring Controllers
alejandro.imass at gmail.com
Fri Jul 29 00:16:02 GMT 2011
On Wed, Jul 27, 2011 at 9:29 AM, Steve <steve at matsch.com> wrote:
> Hi all,
> I have a question regarding controller refactoring, and whether subclassing
> (or adding a Moose role) would be a good idea for a particular application.
> The application creates 6 different types of invoices, each representing a
> particular type of service. Currently, I have a controller for each that
> handles the various steps that must be taken to produce and ultimately send
> these invoices. ALL OF THESE CONTROLLERS HAVE THE SAME ACTIONS, and most of
> the same logic, which to me says I should refactor these controllers...I
That is what Action Classes are for:
Look for Action classes in:
> just don't know how, and also whether the benefit is worth the work. Almost
> certainly it would not be worth it in and of itself, however I might want to
> write another application someday where knowing this would certainly be
> useful :)
You can also make a base controller type and inherit from that.
Remember that Catalyst is built over Moose so everytihng Moose you can
do with Catalyst.
> So IF this seems reasonable, and my controllers are 'FOOcontrol',
> 'BARcontrol', 'BAZcontrol', and my actions are 'initialize', 'upload_data',
> 'process', 'generate_invoices'...etc., what is a good way to stay DRY? In
> particular I'm having a hard time wrapping my mind around how the URI's
> would be handled.
Action classes and default methods on your root controller.
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://firstname.lastname@example.org/
> Dev site: http://dev.catalyst.perl.org/
More information about the Catalyst