NAME

Data::Phrasebook::Loader::DBI - Absract your phrases with a DBI driver.

SYNOPSIS

    use Data::Phrasebook;

    my $q = Data::Phrasebook->new(
        class     => 'Fnerk',
        loader    => 'DBI',
		file      => {
            dsn	      => 'dbi:mysql:database=test',
            dbuser    => 'user',
            dbpass    => 'pass',
		    dbtable   => 'phrasebook',
		    dbcolumns => ['keyword','phrase','dictionary'],
		}
    );

	OR

    my $q = Data::Phrasebook->new(
        class     => 'Fnerk',
        loader    => 'DBI',
		file      => {
            dbh	      => $dbh,
		    dbtable   => 'phrasebook',
		    dbcolumns => ['keyword','phrase','dictionary'],
		}
    );

   $q->delimiters( qr{ \[% \s* (\w+) \s* %\] }x );
	my $phrase = $q->fetch($keyword);

ABSTRACT

This module provides a loader class for phrasebook implementations using DBI.

DESCRIPTION

This class loader implements phrasebook patterns using DBI.

Phrases can be contained within one or more dictionaries, with each phrase accessible via a unique key. Phrases may contain placeholders, please see Data::Phrasebook for an explanation of how to use these. Groups of phrases are kept in a dictionary. The first dictionary is used as the default, unless a specific dictionary is requested.

This module provides a base class for phrasebook implementations via a database. Note that the order of table columns is significant. If there is no dictionary field, all entries are assumed to be part of the default dictionary.

INHERITANCE

Data::Phrasebook::Loader::DBI inherits from the base class Data::Phrasebook::Loader::Base. See that module for other available methods and documentation.

METHODS

load

Given the appropriate settings, connects to the designated database. Note that for consistency, the connection string and other database specific settings, are passed via a hashref.

$loader->load( $file );

This method is used internally by Data::Phrasebook::Generic's data method, to initialise the data store.

get

Returns the phrase stored in the phrasebook, for a given keyword.

my $value = $loader->get( $key );

SEE ALSO

Data::Phrasebook

AUTHOR

Barbie, <<barbie@cpan.org> > for Miss Barbell Productions, http://www.missbarbell.co.uk

Birmingham Perl Mongers, http://birmingham.pm.org/

COPYRIGHT AND LICENSE

Copyright (C) 2004-2005 Barbie for Miss Barbell Productions
All Rights Reserved.

This module is free software; you can redistribute it and/or 
modify it under the same terms as Perl itself.

The full text of the licences can be found in the F<Artistic> and
F<COPYING> files included with this module, or in L<perlartistic> and
L<perlgpl> in Perl 5.8.1 or later.