|
NAMEScope::Container::DBI - DB connection manager with Scope::Container SYNOPSIS use Scope::Container::DBI;
use Scope::Container;
FOO: {
my $contaier = start_scope_container();
# first connect
my $dbh = Scope::Container::DBI->connect(
'dbi:mysql:mydb;host=myhost', 'myuser', 'mypasswd',
{ RaiseError => 1, mysql_connect_timeout => 4, mysql_enable_utf8 => 1 }
);
# same dsn, user/pass, and attributes, reuse connection
my $dbh2 = Scope::Container::DBI->connect(
'dbi:mysql:mydb;host=myhost', 'myuser', 'mypasswd',
{ RaiseError => 1, mysql_connect_timeout => 4, mysql_enable_utf8 => 1 }
);
#disconnect
}
BAR: {
my $contaier = start_scope_container();
# connect randomly
my $dbh = Scope::Container::DBI->connect(
['dbi:mysql:mydb;host=myslave01', 'myuser', 'mypasswd', {..}],
['dbi:mysql:mydb;host=myslave02', 'myuser', 'mypasswd', {..}],
['dbi:mysql:mydb;host=myslave03', 'myuser', 'mypasswd', {..}],
);
# reuse randomly connected
my $dbh2 = Scope::Container::DBI->connect(
['dbi:mysql:mydb;host=myslave01', 'myuser', 'mypasswd', {..}],
['dbi:mysql:mydb;host=myslave02', 'myuser', 'mypasswd', {..}],
['dbi:mysql:mydb;host=myslave03', 'myuser', 'mypasswd', {..}],
);
}
DESCRIPTIONScope::Container::DBI is DB connection manager that uses Scope::Container. You can control DB connection within any scope. METHOD
ADDITIONAL ATTRIBUTES
NOTE
AUTHORMasahiro Nagano <kazeburo {at} gmail.com> SEE ALSOScope::Container, Plack::Middleware::Scope::Container LICENSEThis library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
|