Mojolicious
База данных
Plugin
Mojolicious::Plugin::Datab ase
Helper
app->hepler( db => sub { DBI->connect(...) } );
my $dbh = DBI->connect(...); app->hepler( db => sub { $dbh } );
Plugin
Mojolicious::Plugin::Datab ase
Mojolicious::Plugin::AnyDa ta
DBD::AnyData
!
БДБД
RAM
== RAM БДБД
XML CSV HTML MP3 Weblog DBI
SQL
Mojolicious
+
DBD::AnyData
=
Mojolicious::Plugin::AnyData
Ничего не ясно
?
RAM
Per l
{ таблица => [ [список полей], [запись1], [запись2], … ], }
app->plugin(any_data => { load_data => 'db.conf', helper => 'db', });
any_data (helper) Почти экземпляр DBD::AnyData
1) Враппер DBD::AnyData::func()
1) Враппер DBD::AnyData::func() 2) + Парочка своих методов
app->plugin(any_data => { load_data => 'db.conf', helper => 'db', });
app->plugin(any_data => { load_data => 'db.conf', helper => 'db', });
Mojolicious::Plugin::Datab ase
$self->db->selectrow_hashref();
load_data
app->plugin(any_data => { load_data => 'db.conf', helper => 'db', });
app->plugin(any_data => { load_data => HASH(0x95…), helper => 'db', });
$self->any_data ->load_data('db.conf');
$self->any_data ->load_data('db.conf');
func
app->plugin(any_data => { func => […] });
$self->any_data ->func([…]);
func Не падает с ошибкой
func Не падает с ошибкой Перезаписывает таблицу
func Не падает с ошибкой Перезаписывает таблицу Только ad_import, если вызван из хелпера (не из startup)
Mojolicious::Plugin::AnyDa ta
Работает только в development-режиме
app->mode('production')
Mojolicious::Plugin::AnyDa ta uses perl data in the memory like a database source
Mojolicious::Plugin::AnyDa ta uses perl data in the memory like a database source In a development mode only
таблица => [ [список полей], [запись1], [запись2], … ], Создать тестовую БД в конфиге:
app->plugin(any_data => { load_data => 'db.conf', helper => 'db', }); Подключить плагин, загрузив базу в память:
PROFIT!
1) Никаких баз данных
1) Никаких баз данных 2) Вообще никаких баз данных!
1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл
1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл 4) Открытое нагляное представление данных
1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл 4) Открытое нагляное представление данных 5) Только для development и быстрого проектирования
1) Никаких баз данных 2) Вообще никаких баз данных! 3) Нативный перл 4) Открытое нагляное представление данных 5) Только для development и быстрого проектирования 6) Создан для Mojolicious с любовью
Вопросы?
Plugin-AnyData
Спасибо!