CGI-Builder-Session
view release on metacpan or search on metacpan
lib/CGI/Builder/Session.pm view on Meta::CPAN
: $cs_cookie
)
; $s->cgi->param($CGI::Session::NAME => $cso->id)
}
}
; 1
__END__
=pod
=head1 NAME
CGI::Builder::Session - CGI::Builder and CGI::Session integration
=head1 VERSION 1.26
The latest versions changes are reported in the F<Changes> file in this distribution. To have the complete list of all the extensions of the CBF, see L<CGI::Builder/"Extensions List">
=head1 INSTALLATION
=over
=item Prerequisites
CGI::Builder >= 1.2
CGI::Session >= 3.95
File::Spec > 0
=item CPAN
perl -MCPAN -e 'install CGI::Builder::Session'
You have also the possibility to use the Bundle to install all the extensions and prerequisites of the CBF in just one step. Please, notice that the Bundle will install A LOT of modules that you might not need, so use it specially if you want to exte...
perl -MCPAN -e 'install Bundle::CGI::Builder::Complete'
=item Standard installation
From the directory where this file is located, type:
perl Makefile.PL
make
make test
make install
=back
=head1 SYNOPSIS
use CGI::Builder
qw| CGI::Builder::Session
...
|;
=head1 DESCRIPTION
B<Note>: You should know L<CGI::Builder>.
This module transparently integrates C<CGI::Builder> and C<CGI::Session> in a very handy and flexible framework that can save you some coding. It provides you a mostly automatic and ready to use CGI::Session object (C<cs> property) useful to maintain...
=head2 How it works
This extension creates a CGI::Session object automatically, using the old session id if it is found as a cookie or as a query param. If no session id is found, it creates a new session and automatically adds a session id cookie and a session id param...
In simple cases you can avoid to init, update and flush the session: just use it and it will work as expected; if you need more customization you can override every single argument, property or even method.
B<Note>: When you include in your CBB the L<CGI::Builde::Magic|CGI::Builde::Magic> extension, you will have magically available a label that will be substituted with the current session id.
=head1 PROPERTY and GROUP ACCESSORS
This module adds some session properties (all those prefixed with 'cs_') to the standard CBF properties. The default of these properties are usually smart enough to do the right job for you, but you can fine-tune the behaviour of your CBB by setting ...
=head2 cs
This property returns the internal C<CGI::Session> object that is automatically created just before you use it. It is already initialized with the existing session or with a new session if there are no existing session yet. Anyway, you can directly u...
# check some flag
sub OH_pre_process {
my $s = shift;
$s->cs->param('logged')
|| switch_to('login');
}
# saves cgi parameter for later use
sub PH_myPage1 {
my $s = shift;
$s->cs->save_param($s->cgi, "category");
}
# retrieve a session parameter saved in a previous request
sub PH_myPage2 {
my $s = shift;
my $categ = $s->cs->param("category");
}
B<Note>: You can change the default arguments that are internally used to create the object by using the C<cs_new_args> group accessor, or you can completely override the creation of the internal object by overriding the C<cs_new()> method.
=head2 cs_new_args( arguments )
This property group accessor handles the CGI::Session constructor arguments that are used in the creation of the internal CGI::Session object. Use it to change the argument you need to the creation of the new object. B<Note>: use it BEFORE using the ...
It uses the following defaults:
=over
=item * DSN
Data Source Name: this argument is set to the undef value by default (i.e. DSN equal to File).
=item * SID
Session ID: this argument is set by default to the cookie, or to the query param named $CGI::Session::NAME (usually 'CGISESSID'), or to the undef value if neither the cookie nor the param are found.
=item * DSN_param
Data Source Name param This argument is referring to the File DSN, and is set by default to:
{ Directory => File::Spec->tmpdir }
( run in 2.347 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )