Do you think it is sane to store and use Catalyst application class in controller (in Moose attribute)? I can use the property to link to other application components "statically" without using $c and also store them in attributes.
I mean something like this:
package MyApp::Controller::Region; use Moose; BEGIN { extends qw(Catalyst::Controller); } has app_class => ( is => 'ro' ); has regions => ( is => 'ro', required => 1, lazy => 1, isa => 'ArrayRef', auto_deref => 1, default => sub { # using model and storing bit of data in attributes return [ shift()->region_rs->all ]; } ); # remembering app_class around BUILDARGS => sub { my $next = shift; return { %{ $next->(@_) }, app_class => $_[1], }; }; sub region_rs { # accessing the model return shift()->app_class->model('DB::Region'); }
Do you see any potential danger in this?
In reply to Using Catalyst application class in controllers by roman
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |