我使用CGI ::應用與DBIx ::類的mod_perl,我想有一些像新的定義上實例化一個新的DBIC架構。到目前爲止,我還沒有能夠得到它的工作。我所接觸到的最接近的是具有返回新對象的connect()方法的超類,但我寧願它已經被連接並實例化。我如何有一個持久的DBIx ::類的CGI ::應用程序使用的mod_perl?
我會很感激的任何想法都沒有。
謝謝!
注意:好的,所以顯然沒有幫助,但是,在此期間,我做了一個訪問器,懶惰地實例化DBIx :: Class,所以這可能會更好一點。檢查它:
sub schema {
my $self = shift;
unless ($self->{schema}) {
$self->{schema} = ACD::Model->connect(@{$self->cfg->{$ENV{MODE}}->{connect_params}});
}
return $self->{schema};
}
然後當然要使用它,你會做這樣的事情:
$self->schema->resultset('Foo')->find(1234);
我沒有給你一個連貫的答案...但我認爲這是要消除黑客攻擊。 「$ self」不應該負責管理數據庫連接;你應該實例化數據庫連接「別的地方」,然後將它傳遞給需要它的對象。 (像Bread :: Board這樣的模塊使得這非常簡單。) – jrockway 2009-10-06 00:08:02