| DBIx-Custom documentation | Contained in the DBIx-Custom distribution. |
DBIx::Custom::Basic - DBIx::Custom basic implementation
# New
my $dbi = DBIx::Custom::Basic->new(
data_source => "dbi:mysql:database=books",
user => 'ken',
password => '!LFKD%$&'
);
This class is DBIx::Custom subclass. You can use all methods of DBIx::Custom
Encode and decode utf8 filter on
$dbi->utf8_filter_on;
This equel to
$dbi->bind_filter($dbi->filters->{encode_utf8});
$dbi->fetch_filter($dbi->filters->{decode_utf8});
Encode internal string to UTF-8 byte stream If need, utf8::upgrade is also done.
$dbi->filters->{encode_utf8}->($value);
This filter is generally used as bind filter
$dbi->bind_filter($dbi->filters->{encode_utf8});
Decode UTF-8 byte stream to internal string $dbi->filters->{decode_utf8}->($value);
This filter is generally used as fetch filter
$dbi->fetch_filter($dbi->filters->{decode_utf8});
strptime formats is available
# format name format
'SQL99_date' '%Y-%m-%d',
'SQL99_datetime' '%Y-%m-%d %H:%M:%S',
'SQL99_time' '%H:%M:%S',
'ISO-8601_date' '%Y-%m-%d',
'ISO-8601_datetime' '%Y-%m-%dT%H:%M:%S',
'ISO-8601_time' '%H:%M:%S',
You get format as the following
my $format = $dbi->formats->{$format_name};
| DBIx-Custom documentation | Contained in the DBIx-Custom distribution. |
package DBIx::Custom::Basic; use warnings; use strict; use base 'DBIx::Custom'; use Encode qw/decode encode/; __PACKAGE__->add_filter( encode_utf8 => sub { encode('UTF-8', shift) }, decode_utf8 => sub { decode('UTF-8', shift) } ); __PACKAGE__->add_format( 'SQL99_date' => '%Y-%m-%d', 'SQL99_datetime' => '%Y-%m-%d %H:%M:%S', 'SQL99_time' => '%H:%M:%S', 'ISO-8601_date' => '%Y-%m-%d', 'ISO-8601_datetime' => '%Y-%m-%dT%H:%M:%S', 'ISO-8601_time' => '%H:%M:%S', ); sub utf8_filter_on { my $self = shift; # Set utf8 filters $self->bind_filter($self->filters->{encode_utf8}); $self->fetch_filter($self->filters->{decode_utf8}); return $self; } 1;