NAME

Catalyst::Model::Proxy - Proxy Model Class

SYNOPSIS

# a sample use with C<Catalyst::Model::DBI>

# lib/MyApp/Model/DBI.pm
package MyApp::Model::DBI;

use base 'Catalyst::Model::DBI';

__PACKAGE__->config(
	dsn           => 'dbi:Pg:dbname=myapp',
	password      => '',
	user          => 'postgres',
	options       => { AutoCommit => 1 },
);

1;

# lib/MyApp/Model/Other.pm	
package MyApp::Model::Other;

use base 'Catalyst::Model::Proxy';

__PACKAGE__->config(
	target_class => 'DBI'
);

# get access to shared $dbh via proxy mechanism
sub something {
	my $self = shift;
	my $dbh = $self->dbh;
	# ... do some stuff with $dbh
}

# back in the controller

# lib/MyApp/Controller/Other.pm
package MyApp::Controller::Other;

use base 'Catalyst::Controller';	

my $model = $c->model('Other');
$model->something;

DESCRIPTION

This is the Catalyst Model Class called Catalyst::Model::Proxy that implements Proxy Design Pattern. It enables you to make calls to target classes/subroutines via proxy mechanism. This means reduced memory footprint because any operations performed on the proxies are forwarded to the original complex ( target_class ) object. For more information on the proxy design pattern refer to: http://en.wikipedia.org/wiki/Proxy_design_pattern

METHODS

new

Initializes DBI connection

$self->target_class

Returns the current target class for a proxy.

SEE ALSO

Catalyst

AUTHOR

Alex Pavlovic, alex.pavlovic@taskforce-1.com

COPYRIGHT

This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.