Man pages sections > man3 > Catalyst::Component::InstancePerContext

Catalyst::Component::InstancePerContext - Return a new instance a component on

Catalyst::Component::InstancePerContext(3pm) User Contributed Perl Documentation Catalyst::Component::InstancePerContext(3pm)

NAME

Catalyst::Component::InstancePerContext - Return a new instance a component on each request

SYNOPSYS

    package MyComponent;
    use Moose;
    with 'Catalyst::Component::InstancePerContext';
    sub build_per_context_instance{
        my ($self, $c) = @_;
        # ... do your thing here
        return SomeModule->new(%args);
    }

REQUIRED METHODS

Your consuming class must implement the following method.

build_per_context_instance

The value returned by this call is what you will receive when you call $c->component('YourComponent').

PROVIDED METHODS

This role will add the following method to your consuming class.

ACCEPT_CONTEXT

If the context is not blessed, it will simple pass through the value of "build_per_context_instance". If context is blessed it will look in the "stash" for an instance of the requested component and return that or, if the value is not found, the value returned by "build_per_context_instance" will be stored and return.
The idea behind this behavior is that a component can be built on a per-request basis, as the name of this module implies.

SEE ALSO

Moose, Moose::Role, Catalyst::Component

AUTHOR

Guillermo Roditi (groditi) <groditi@cpan.org>

LICENSE

You may distribute this code under the same terms as Perl itself.
2014-05-15 perl v5.18.2