新しいblogに移行しました

新ブログ "All Yout Bugs Are Belong To Ass" に移行しました!

2008-02-26

[Perl]Class::Component プラグインロード直後からインスタンスを生成できた

initを使えばできる模様。
プラグイン側はだいたいこんな感じ。

package Class::Component::Plugin::DBIS;
use strict;
use warnings;
use base 'Class::Component::Plugin';
use DBIx::Simple;
use SQL::Abstract;

sub init : Method {
my ($self, $c, $args) = @_;
$c->{DBIS} = DBIx::Class->connect(
@{$self->{config}->{connect_info}}
);
$c->{DBIS}->abstract = SQL::Abstract->new;
}


で、スクリプト側で、

my @members = $c->{DBIS}->select(
'member',
['*'],
{id=>$id}
);

みたいにできる。これは便利。

0 件のコメント: