tokuhirom@株主の日記 このページをアンテナに追加 RSSフィード

 | 

2005-10-28

Sledge::SessionManager にアクセサ追加 14:43 Sledge::SessionManager にアクセサ追加 - tokuhirom@株主の日記 を含むブックマーク

User の ID をセッションに入れとく場合、

my $user = Project::Data::User->retrieve($self->session->param('id'));

とか毎回書くのはダルいので

my $user = $self->session->user;

と書きたいのだが、こういう場合、Sledge::SessionManager::MySQL とかを継承して

package Project::SessionManager::MySQL;
use strict;
use warnings;
use base qw(Sledge::SessionManager::MySQL;
use Project::Data::User;

sub user {
  my $self = shift;
  return Project::Data::User->retrieve($self->param('id'));
}

1;

とかするのが良いんかな。

miyagawamiyagawa2005/10/28 22:06Session は Sledge::Session オブジェクトなので、SessionManager を継承してもだめっすね。
アクセサをカンタンに追加するプラグインがあってもいいかもしれない

bonnubonnu2005/10/29 11:42[% FOREACH entry = entries %]
...loop
[% END #FOREACH %]
[% UNLESS entries.size %]
...unless
[% END #UNLESS %]
では?

tokuhiromtokuhirom2005/10/29 11:46>miyagawa-san
あー、そうですね。SessionManager じゃなくて Session でした。アクセサが欲しいのは変わりないので、ちょっと練ってみます。
>bonnu さん
あー、なるほど。FOREACH-ELSE に比べると見劣りしますが、これでも十分ですね。

 |