catalyst.perl.kmtz.net RSSフィード

 | 

2007-04-14C::P::Authentication::Store::DBIC::User で型グロブを使ったメソッドへのアクセ このエントリーを含むブックマーク

Catalyst::Plugin::Authentication::Store::DBIC を利用して認証していて、ユーザレコードが下みたいな感じだった場合、

{ 
  id   =>  1,
  name =>  'username',
  password => 'password',
  age  => 27,
  type =>  'a'
}

$user->age や $user->type とはできるが、$user->id ではなく $user->obj->id としないといけない。

ほげーと思って、Catalyst::Plugin::Authentication::Store::DBIC::Userソースを確認したところ、

sub new {
    my ( $class, $id, $config ) = @_;

    my $query = @{$config->{auth}{user_field}} > 1
        ? { -or => [ map { { $_ => $id } } @{$config->{auth}{user_field}} ] }
        : { $config->{auth}{user_field}[0] => $id };

    my $user_obj = $config->{auth}{user_class}->search($query)->first;
    return unless $user_obj;

    bless {
        id     => $id,
        config => $config,
        obj    => $user_obj,
    }, $class;
}

*user = \&obj;

ということは、id と config と obj だけが、obj を経由しなくても $user_obj のメソッドにアクセスできるってことかな。型グロブに代入しても上書きはされないのかな?このあたりの理解がたりないなー。ラクダ本。。。

JeanJean2011/08/02 13:25I really couldn't ask for more from this aritcle.

ppwgrdvppwgrdv2011/08/02 20:47blOlYF <a href="http://yfcioqrhngji.com/">yfcioqrhngji</a>

ymcmypymcmyp2011/08/03 21:13wX7xpc , [url=http://wbiilywelrnf.com/]wbiilywelrnf[/url], [link=http://fhcsquxbzxtt.com/]fhcsquxbzxtt[/link], http://ntsptsmbeytc.com/

kfzzdustyykfzzdustyy2011/08/05 18:39JCthrg <a href="http://vwysuzxeygwy.com/">vwysuzxeygwy</a>

oujzgdroujzgdr2011/08/05 22:53e9RxlN , [url=http://azjvsobzalqn.com/]azjvsobzalqn[/url], [link=http://yslyzowyirlj.com/]yslyzowyirlj[/link], http://wyxupddsemag.com/

 |