Mojolicious - атрибуты и методы

Статья является частью документации Mojolicious

АТРИБУТЫ

Mojolicious наследует все атрибуты из Mojo и реализует следующие новые.

controller_class

my $class = $mojo->controller_class;
$mojo     = $mojo->controller_class('Mojolicious::Controller');

Класс который будет использоваться в качестве контроллера, по умолчанию используется Mojolicious::Controller.

mode

my $mode = $mojo->mode;
$mojo    = $mojo->mode('production');

Режим работы для вашего приложения. По умолчанию используется значение переменной окружения MOJO_MODE или development. Mojo назовёт лог-файл по текущему режиму; если режим отличается от development, логи будут ограничены.

Если вы хотите добавить в ваше приложение логику, зависящую от режима, можете добавить подпрограмму $mode_mode.

sub development_mode {
    my $self = shift;
}

sub production_mode {
    my $self = shift;
}

plugins

my $plugins = $mojo->plugins;
$mojo       = $mojo->plugins(Mojolicious::Plugins->new);

Загрузчик плагина по умолчанию — объект Mojolicious::Plugins. Обычно вы можете оставить всё как есть, см. Mojolicious::Plugin, если хотите написать плагин.

renderer

my $renderer = $mojo->renderer;
$mojo        = $mojo->renderer(MojoX::Renderer->new);

Используется для визуализации контента, по умолчанию MojoX::Render. Два основных плагина визуализации Mojolicious::Plugin::EpRenderer и Mojolicious::Plugin::EplRenderer содержат более подробную информацию.

routes

my $routes = $mojo->routes;
$mojo      = $mojo->routes(MojoX::Dispatcher::Routes->new);

Диспетчер маршрутов, по умолчанию MojoX::Dispatcher::Routes. Вы используете его в стартовом методе для определения конечных точек url (анг. url endpoints) для вашего приложения.

sub startup {
    my $self = shift;

    my $r = $self->routes;
    $r->route('/:controller/:action')->to('test#welcome');
}

secret

my $secret = $mojo->secret;
$mojo      = $mojo->secret('passw0rd');

Секретный пароль, используемый для подписанных cookies и т.п., по умолчанию — название приложения, что не очень надежно, поэтому вы должны изменить его!!! До тех пор, пока вы будете использовать значение по умолчанию, в лог файл будут писаться отладочные сообщения с напоминанием о смене пароля.

static

my $static = $mojo->static;
$mojo      = $mojo->static(MojoX::Dispatcher::Static->new);

Для обслуживания статических ресурсов из каталога public, по умолчанию MojoX::Dispatcher::Static.

types

my $types = $mojo->types;
$mojo     = $mojo->types(MojoX::Types->new);

Отвечает за отслеживание типов контента, который вы хотите обслуживать в приложении, по умолчанию MojoX::Types. Вы можете легко зарегистрировать новый тип.

$mojo->types->type(vti => 'help/vampire');

МЕТОДЫ

Mojolicious наследует все методы от Mojo и реализует следующие новые.

new

my $mojo = Mojolicious->new;

Создаёт новое приложение Mojolicious. Автоматически определяет ваш домашний каталог и устанавливает логирование, основываясь на вашем текущем режиме работы. Кроме того, устанавливается маршрутизация, статическая диспетчеризация и стандартный набор плагинов.

defaults

my $defaults = $mojo->default;
my $foo      = $mojo->defaults('foo');
$mojo        = $mojo->defaults({foo => 'bar'});
$mojo        = $mojo->defaults(foo => 'bar');

Значения по умолчанию для stash. Обратите внимание, что этот метод ЭКСПЕРИМЕНТАЛЬНЫЙ и может быть изменен без предупреждения!

$mojo->defaults->{foo} = 'bar';
my $foo = $mojo->defaults->{foo};
delete $mojo->defaults->{foo};

dispatch

$mojo->dispatch($c);

Сердце каждого приложения Mojolicious, вызывает диспетчеры статических файлов и маршрутов для каждого запроса.

finish

$mojo->finish($c);

Чистка после обработки запроса, как правило, вызывается автоматически.

handler

$tx = $mojo->handler($tx);

Устанавливает контроллер по умолчанию и вызывает процесс для каждого запроса.

plugin

$mojo->plugin('something');
$mojo->plugin('something', foo => 23);
$mojo->plugin('something', {foo => 23});

Загрузка плагина.

process

$mojo->process($c);

Данный метод может быть перегружен, чтобы сделать логику, зависящую от запроса, по умолчанию просто вызывает dispatch. Вообще-то, вместо него вы будете использовать плагин или контроллер, рассматривая его кувалду в вашем набор инструментов.

sub process {
    my ($self, $c) = @_;
    $self->dispatch($c);
}

start

Mojolicious->start;
Mojolicious->start('daemon');

Запускает интерфейс командной строки Mojolicious::Commands для вашего приложения

startup

$mojo->startup;

Это ваш основной хук в приложении, он будет вызываться при запуске.

sub startup {
    my $self = shift;
}

Statistic

About this Entry

This page contains a single entry by Dinar published on July 13, 2010 4:58 PM.

Mojolicious - обзор возможностей фреймворка was the previous entry in this blog.

Справочное руководство Mojolicious is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.