NAME
Context - request-local storage
SYNOPSIS
$ctx = Pinwheel::Context::get();
$ctx = Pinwheel::Context::get('template');
Pinwheel::Context::set(x => 'foo', y => 'bar', z => 42);
Pinwheel::Context::set('template', foo => 'bar', baz => 'bal');
Pinwheel::Context::reset();
DESCRIPTION
This module provides storage that can be completely emptied with a call to reset()
. It is used by Controller to provide request-local storage for modules, and as the mechanism for sharing data between controllers and views.
Contexts are hashes (get
returns a reference to a hash). Multiple contexts are supported by use of the optional NAMESPACE argument. Whenever NAMESPACE is omitted, it defaults to a value generated from the caller's package.
ROUTINES
get()
orget(NAMESPACE)
-
Retrieves a context hash.
Examples:
my $ctx = Pinwheel::Context::get(); return $ctx->{action};
or
my $ctx = Pinwheel::Context::get('template'); return $ctx->{pagetitle};
set(VALUES)
orset(NAMESPACE, VALUES)
-
Set one or more values in the context. The appropriate context is emptied, then filled with the given VALUES.
Examples:
Pinwheel::Context::set(x => 1, y => 42);
or
Pinwheel::Context::set('template', date => $date, message => $msg); Pinwheel::Context::set('template', schedule => $schedule); # 'date' and 'message' are now gone
reset()
-
Clears all the context information in all namespaces.
AUTHOR
A&M Network Publishing <DLAMNetPub@bbc.co.uk>