VERSION

0.024

Mojolicious::Che

Доброго всем

¡ ¡ ¡ ALL GLORY TO GLORIA ! ! !

NAME

Mojolicious::Che - Мой базовый модуль для приложений Mojolicious. Нужен только развернутый конфиг.

SYNOPSIS

use Mojo::Base::Che 'Mojolicious::Che' -lib, 'lib';

__PACKAGE__->new(config => 'lib/Config.pm')->start();

Config file

Порядок строк в этом конфиге соответствует исполнению в модуле!

{
'Проект'=>'Тест-проект',
# mojo => {
  # defaults =>
  # secrets =>
  # mode=>
  # log_level =>
  # session =>
  # has =>
  # plugins=>
  # hooks =>
# },
# Default values for "stash" in Mojolicious::Controller, assigned for every new request.
mojo_defaults => {layout=>'default',},
# 'шифры' => [
mojo_secrets => ['true 123 my app',],
mojo_mode=> 'development',
mojo_log_level => 'debug',
# 'сессия' => 
mojo_session => {cookie_name => 'ELK'},

# 'хазы' => 'Лет 500-700 назад был такой дикий степной торговый жадный народ ХАЗАРЫ. Столицей их "государства" был город Тьмутаракань, где-то на берегу моря Каспия. Потомки этих людей рассыпаны по странам России, Средней Азии, Европы. Есть мнение, что хазары присвоили себе название ЕВРЕИ, но это не те библейские кроткие евреи, а жадные потомки кроманьонцев'
mojo_has => {
  foo => sub {my $app = shift; return 'is a bar';},
},

# 'базы' => 
# will be as has!
dbh=>{
  'main' => {
    # DBI->connect(dsn, user, passwd, $attrs)
    connect => ["DBI:Pg:dbname=test;", "postgres", undef, {
      ShowErrorStatement => 1,
      AutoCommit => 1,
      RaiseError => 1,
      PrintError => 1, 
      pg_enable_utf8 => 1,
      #mysql_enable_utf8 => 1,
      #mysql_auto_reconnect=>1,
    }],
    # or use Foo::Dbh; external defined dbh
    # dbh => Dbh->dbh,
    # will do on connect
    do => ['set datestyle to "ISO, DMY";',],
    # prepared sth will be as has $app->sth->{<dbh name>}{<sth name>}
    sth => {
      foo => <<SQL,
select * 
from foo
where
  bar = ?;
SQL
    },
  }
},
# 'запросы' => 
# prepared sth will be as has $app->sth->{<dbh name>}{<sth name>}
sth => {
  main => {
    now => "select now();"
  },
},

# 'плугины'=> [
mojo_plugins=>[ 
    ['Foo::Bar'],
    ['Foo::Plugin' => sub {<...returns config data...>}],
],
# 'хуки' => 
mojo_hooks=>{
  #~ before_dispatch => sub {1;},
},
# 'спейсы' => 
namespaces => ['Space::Shattle'],
# 'маршруты' => 
routes => [
  [get=>'/', to=> {cb=>sub{shift->render(format=>'txt', text=>'Hello!');},}],
]
};

HAS's

dbh

Set DBI handlers from config dbh (или базы)

sth

Set prepared stattements from config sth (или запросы).

METHODS

Mojolicious::Che inherits all methods from Mojolicious and implements the following new ones. All methods has nothing on input.

new()

Top-level method. Setup the defaults, secrets, mode, log level from app->config(). Then invoke all other metods in order below.

сессия()

Session

хазы()

App has's

плугины()

Plugins

хуки()

Hooks

спейсы()

Namespases

маршруты()

Routes

SEE ALSO

Mojolicious

Ado

AUTHOR

Михаил Че (Mikhail Che), <mche[-at-]cpan.org>

BUGS / CONTRIBUTING

Please report any bugs or feature requests at https://github.com/mche/Mojolicious-Che/issues. Pull requests also welcome.

COPYRIGHT

Copyright 2016 Mikhail Che.

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