Class:DBI::AutoLoaderの使い方
Class:DBI::AutoLoaderの使い方
mixiで「Class::DBI::AutoLoaderの使い方がわかんない」と書いてる人がいたけれど、何が分からないんだろう。
サンプルに書かれているとおり、
use Class::DBI::AutoLoader ( dsn => 'dbi:mysql:database', username => 'username', password => 'passw0rd', options => { RaiseError => 1 }, tables => ['favorite_films','directors'] namespace => 'Films' );
とすれば、Class::DBIを継承したFilms::FavoriteFilmsとFilms::Directorsが作られるって話でしょ。具体的には
package Films::FavoriteFilms; use base 'Class::DBI::mysql'; __PACKAGE__->set_db(Main => $dsn, $username, $password, $options); __PACKAGE__->set_up_table('favorite_films'); 1; __END__
みたいなことを自動でやってくれるんでしょう*1。
tablesを指定しなければ、そのデータベースにある全部のテーブルで上記のようなことをするので楽チンだけど、その分オーバーヘッドが大きくなるとか、まあ細かい注意点はあるかもしれませんが。
標準のメソッド以外を使うことも出来るけど*2、そんなことするならAutoLoaderを使う意味はないか……。