セッション
1. Session プラグインを読み込む
package Hamburger::Context;
use strict;
use warnings;
use parent 'Pickles::Context';
__PACKAGE__->load_plugins(qw(Encode Session));
1;
2. Session プラグインの設定を行う ( etc/config.pl )
use HTTP::Session;
use HTTP::Session::Store::OnMemory;
use HTTP::Session::State::Cookie;
return +{
'Plugin::Session' => +{
store => HTTP::Session::Store::OnMemory->new(),
state => HTTP::Session::State::Cookie->new()
}
};
3. 読み書き
コントローラーを跨って使用する必要の無いセッションはパッケージ名等プレフィックスを付けると意図しない参照を防ぎやすい
sub form {
my ( $self, $c ) = @_;
# read session
my $id = $c->session->get( __PACKAGE__ . 'Hamburger_id');
# write session
$c->session->set( __PACKAGE__ . 'Hamburger_id', $id);
}