Документация Perl 5

Mojo


НАЗВАНИЕ

Mojo - Минимальный каркас веб приложений !

ОБЗОР

  use Mojo::Base 'Mojo';
     
  # Всё множество интерфейсов CGI, FastCGI, PSGI, HTTP и WebSockets 
  # сводится к простому вызову метода!
  sub handler {
    my ($self, $tx) = @_;
     
    # Запрос
    my $method = $tx->req->method;
    my $path   = $tx->req->url->path;
     
    # Ответ
    $tx->res->code(200);
    $tx->res->headers->content_type('text/plain');
    $tx->res->body("$method request for $path!");
     
    # Завершающая транзакция
    $tx->resume;
  }

ОПИСАНИЕ

Mojo обеспечивает гибкую среду выполнения для веб фреймворков на Perl. Он предоставляет все основные инструменты и хэлперы(анг. helpers), необходимые для создания простых веб-приложений и веб-фреймворков таких как Mojolicious.

См. Mojolicious чтобы узнать больлше!

АТРИБУТЫ

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

home

    my $home = $app->home;
    $app     = $app->home(Mojo::Home->new);

Домашний каталог приложения, по умолчанию объект Mojo::Home, который преобразует строку в фактический путь.

log

    my $log = $app->log;
    $app    = $app->log(Mojo::Log->new);

Уровень логирования для приложения, по умолчанию объект Mojo::Log.

on_transaction

  my $cb = $app->on_transaction;
  $app   = $app->on_transaction(sub {...});

Функция обратного вызова срабатывает при необходимости новой транзакции, по умолчанию создает объект Mojo::Transaction::HTTP.

on_websocket

    my $cb = $app->on_websocket;
    $app   = $app->on_websocket(sub { ... });

Функция обратного вызова срабатывает для установления соединения WebSocket, по умолчанию создает объект Mojo::Transaction::WebSocket и обрабатывает ответ на запрос установления связи.

ua

  my $ua = $app->ua;
  $app   = $app->ua(Mojo::UserAgent->new);

Полнофункциональный HTTP 1.1 агент пользователя для использования в приложениях, по умолчанию используется объект Mojo::UserAgent.

МЕТОДЫ

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

new

    my $app = Mojo->new;

Конструктор нового Mojo приложения. Автоматически определяет домашний каталог и настраивает логирование в log/mojo.log, если присутствует каталог log.

handler

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

Обработчик основной точки входа в приложение или фреймворка и будет вызываться для каждой новой транзакции, обычно объекты Mojo::Transaction::HTTP или Mojo::Transaction::WebSocket.

    sub handler {
        my ($self, $tx) = @_;
    }

СМ. ТАКЖЕ

Mojolicious, Mojolicious::Guides, http://mojolicio.us.