MasonX::Request::ExtendedCompRoot::WithApacheSession.3pm

Langue: en

Version: 2004-02-18 (mandriva - 22/10/07)

Section: 3 (Bibliothèques de fonctions)

NAME

MasonX::Request::ExtendedCompRoot::WithApacheSession - Extend functionality of Mason's comp_root and add a session to the Mason Request object

SYNOPSIS

In your httpd.conf file:
   PerlSetVar  MasonRequestClass         MasonX::Request::ExtendedCompRoot::WithApacheSession
   PerlSetVar  MasonResolverClass        MasonX::Resolver::ExtendedCompRoot
   PerlSetVar  MasonSessionCookieDomain  .example.com
   PerlSetVar  MasonSessionClass         Apache::Session::MySQL
   PerlSetVar  MasonSessionDataSource    dbi:mysql:somedb
 
 

Or when creating an ApacheHandler object:

   my $ah =
       HTML::Mason::ApacheHandler->new
           ( request_class         => 'MasonX::Request::ExtendedCompRoot::WithApacheSession',
             resolver_class        => 'MasonX::Resolver::ExtendedCompRoot',
             session_cookie_domain => '.example.com',
             session_class         => 'Apache::Session::MySQL',
             session_data_source   => 'dbi:mysql:somedb',
           );
 
 

In a component:

   # use a session
   $m->session->{foo} = 1;
   if ( $m->session->{bar}{baz} > 1 ) { ... }
 
 
   # dynamically add a root to the component root
   $m->prefix_comp_root('key=>/path/to/root');
 
 
   # call a component in a specific component root
   <& key=>/path/to/comp &>
 
 

DESCRIPTION

This module simply integrates "MasonX::Request::ExtendedCompRoot" and "MasonX::Request::WithApacheSession".

USAGE


SET UP

To use this module you need to tell Mason to use this class for requests and "MasonX::Resolver::ExtendedCompRoot" for its resolver. This can be done in two ways. If you are configuring Mason via your httpd.conf file, simply add this:

   PerlSetVar  MasonRequestClass    MasonX::Request::ExtendedCompRoot::WithApacheSession
   PerlSetVar  MasonResolverClass   MasonX::Resolver::ExtendedCompRoot
 
 

If you are using a handler.pl file, simply add this parameter to the parameters given to the ApacheHandler constructor:

   request_class  => 'MasonX::Request::ExtendedCompRoot::WithApacheSession'
   resolver_class => 'MasonX::Resolver::ExtendedCompRoot'
 
 

METHODS

This class adds two methods from "MasonX::Request::WithApacheSession" to the Request object ("session" and "delete_session"), and three from MasonX::Request::ExtendedCompRoot, ("comp_root", "prefix_comp_root" and "reset_comp_root").

See the respective modules for documentation of these methods.

PREREQUISITES

MasonX::Request::ExtendedCompRoot, MasonX::Request::WithApacheSession

BUGS

No known bugs.

VERSION

0.03

SEE ALSO

HTML::Mason, MasonX::Request::ExtendedCompRoot, MasonX::Request::WithApacheSession

AUTHOR

Alex Robinson, <cpan[@]alex.cloudband.com>

LICENSE

MasonX::Request::ExtendedCompRoot::WithApacheSession is free software and can be used under the same terms as Perl, i.e. either the GNU Public Licence or the Artistic License.