DBI сабклассинг
Oct. 31st, 2006 01:44 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
при использовании сбаклассинга DBI (use base "DBI"), обязательно должны присутствовать модули с суффиксами ::db и ::st с наследованием от DBI::db и DBI::st соответственно.
обращение к DBI методам через SUPER::
использование:
обращение к DBI методам через SUPER::
package ABC::Base;
use base qw(DBI);
package ABC::Base::db;
use base qw(DBI::db);
sub all_tables ($) {
my $dbh = shift;
my $ret = $dbh->SUPER::selectall_arrayref ("SHOW TABLES") or return;
return map { $_->[0] } @$ret;
}
package ABC::Base::st;
use base qw(DBI::st);
1;
использование:
my $dbh = ABC::Base->connect ("dbi:mysql:base","root","");
my @tables = $dbh->all_tables ();
no subject
Date: 2006-10-31 12:09 pm (UTC)даже через SUPER не получается!
no subject
Date: 2006-10-31 05:29 pm (UTC)no subject
Date: 2006-10-31 06:30 pm (UTC)Нажимая на кнопку в лифте, настоящий интернетчик всегда с содроганием ждет, что нужный ему этаж вывалится в новом окошке.
no subject
Date: 2006-11-01 02:08 am (UTC)что это?
no subject
Date: 2006-11-01 05:36 am (UTC)ну и записал на память.
no subject
Date: 2006-11-01 10:39 am (UTC)хотя
у вас не так?
no subject
Date: 2006-11-01 04:21 pm (UTC)