Слайд 15app->hepler(
db => sub {
DBI->connect(...)
}
);
Слайд 16my $dbh = DBI->connect(...);
app->hepler(
db => sub { $dbh }
);
Слайд 40{
таблица => [
[список полей],
[запись1],
[запись2],
…
],
}
Слайд 42app->plugin(any_data => {
load_data => 'db.conf',
helper => 'db',
});
Слайд 43any_data (helper)
Почти экземпляр
DBD::AnyData
Слайд 451) Враппер
DBD::AnyData::func()
2) + Парочка своих
методов
Слайд 46app->plugin(any_data => {
load_data => 'db.conf',
helper => 'db',
});
Слайд 47app->plugin(any_data => {
load_data => 'db.conf',
helper => 'db',
});
Слайд 52app->plugin(any_data => {
load_data => 'db.conf',
helper => 'db',
});
Слайд 53app->plugin(any_data => {
load_data => HASH(0x95…),
helper => 'db',
});
Слайд 54$self->any_data
->load_data('db.conf');
Слайд 55$self->any_data
->load_data('db.conf');
Слайд 57app->plugin(any_data => {
func => […]
});
Слайд 60func
Не падает с ошибкой
Перезаписывает таблицу
Слайд 61func
Не падает с ошибкой
Перезаписывает таблицу
Только ad_import, если вызван из хелпера (не из
startup)
Слайд 63Работает только
в development-режиме
Слайд 65Mojolicious::Plugin::AnyData
uses perl data in the memory
like a database source
Слайд 66Mojolicious::Plugin::AnyData
uses perl data in the memory
like a database source
In a development
mode only
Слайд 67 таблица => [
[список полей],
[запись1],
[запись2],
…
],
① Создать тестовую
БД в конфиге:
Слайд 68app->plugin(any_data => {
load_data => 'db.conf',
helper => 'db',
});
② Подключить плагин, загрузив
базу в память:
Слайд 711) Никаких баз данных
2) Вообще никаких баз данных!
Слайд 721) Никаких баз данных
2) Вообще никаких баз данных!
3) Нативный перл
Слайд 731) Никаких баз данных
2) Вообще никаких баз данных!
3) Нативный перл
4) Открытое нагляное
представление данных
Слайд 741) Никаких баз данных
2) Вообще никаких баз данных!
3) Нативный перл
4) Открытое нагляное
представление данных
5) Только для development и быстрого проектирования
Слайд 751) Никаких баз данных
2) Вообще никаких баз данных!
3) Нативный перл
4) Открытое нагляное
представление данных
5) Только для development и быстрого проектирования
6) Создан для Mojolicious с любовью ☻