NAME
Apache2::Controller::SQL::Connector - connects DBI to <$r-
pnotes->{dbh}>>.
SYNOPSIS
CONFIG ALTERNATIVE 1: APACHE CONF
# virtualhost.conf:
PerlLoadModule Apache::DBI
PerlLoadModule Apache2::Controller::Directives
<Location '/'>
A2C_DBI_DSN DBI:mysql:database=foobar;host=localhost
A2C_DBI_User heebee
A2C_DBI_Password jeebee
A2C_DBI_Options RaiseError 1
A2C_DBI_Options AutoCommit 0
SetHandler modperl
PerlInitHandler MyApp::Dispatch
PerlHeaderParserHandler Apache2::Controller::SQL::Connector
</Location>
CONFIG ALTERNATIVE 2: SUBCLASS
If you need to hide details from the server configuration tree, for example to hide password from access by untrusted cgi scripts, subclass this module and implement your own <dbi_connect_args()
> subroutine, which returns argument list for <DBI-
connect()>>.
PerlLoadModule Apache::DBI
<Location '/'>
SetHandler modperl
PerlInitHandler MyApp::Dispatch
PerlHeaderParserHandler MyApp::SQLConnect
</Location>
package MyApp::SQLConnect;
use base qw( Apache2::Controller::SQL::Connector );
sub dbi_connect_args {
my ($self) = @_;
return (
'DBI:mysql:database=foobar;host=localhost',
'heebee', 'jeebee',
{ RaiseError => 1, AutoCommit => 0 }
);
}
1;
METHODS
process
Gets DBI connect arguments by calling $self->dbi_connect_args()
, then connects $dbh
and stashes it in $r->pnotes->{dbh}
.
dbi_connect_args
Default interprets directives. Apache2::Controller::Directives. You can override this in a subclass to provide your own connect args.
SEE ALSO
Apache2::Controller::Directives
Apache2::Controller::SQL::MySQL
AUTHOR
Mark Hedges, hedges +(a t)- scriptdolphin.org
COPYRIGHT AND LICENSE
Copyright 2008 Mark Hedges. CPAN: markle
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.