trying to subclass DBI
- From: s.wernerus@xxxxxxxxx (Wernerus Sebastien)
- Date: Thu, 29 Dec 2005 00:39:39 +0100
Hi,
I'm new to OO programming, and i'd like to subclass DBI for some purpose.
I made some tests to figure out how it worked. Here is a sample code
that doesn't do anything interesting. It doesn't execute as I
expected:
======================
package MySubDBI;
use strict;
use DBI;
use vars qw(@ISA);
@ISA = qw(DBI);
package MySubDBI::db;
use vars qw(@ISA);
@ISA = qw(DBI::db);
sub connect {
my ($drh, @args) = @_;
my $dbh = $drh->SUPER::connect(@args) or return;
$dbh->{private_mysubdbi_test} = 'blabla';
print "test0\n";
return $dbh;
}
sub test {
my $dbh = shift;
return $dbh->{private_mysubdbi_test};
}
package MySubDBI::st;
use vars qw(@ISA);
@ISA = qw(DBI::st);
package Main;
my $dbn = "DBI:mysql:database=***:host=***:port=***";
my $dbh = MySubDBI->connect( $dbn, '***', '***' );
if ( $dbh ) { print "connection ok\n" } else { print "connection error\n" }
print 'test1: ', $dbh->{private_mysubdbi_test}, "\n";
print 'test2: ', $dbh->test, "\n";
======================
It prints:
connection ok
test1:
test2:
Do you know why it doesn't print the string 'test0' and nothing for
test1 and test2 ?
.
- Follow-Ups:
- Re: trying to subclass DBI
- From: Tim Bunce
- Re: trying to subclass DBI
- From: David Dooling
- Re: trying to subclass DBI
- Prev by Date: DBI::ping hangs after execute failure
- Next by Date: Help Required regarding Database Operations
- Previous by thread: DBI::ping hangs after execute failure
- Next by thread: Re: trying to subclass DBI
- Index(es):
Relevant Pages
|
|