February 2011 Archives

Mojolicious::Lite -- это микро веб-фреймворк, входящий в состав Mojolicious.

КРАТКИЙ ОБЗОР

    # При загрузке Mojolicious::Lite активируются режимы "strict" и "warnings"
    use Mojolicious::Lite;
     
    # Маршрут с заполнителем
    get '/:foo' => sub {
        my $self = shift;
        my $foo  = $self->param('foo');
        $self->render(text => "Hello from $foo!");
    };
     
    # Запуск системы команд Mojolicious
    app->start;

Hello World!

Минимальное приложение типа "Hello World" выглядит примерно как приведено ниже, при загрузке Mojolicious::Lite автоматически включается действие прагм strict и warnings и портируется несколько функций, превращая сценарий в полнофункциональное веб-приложение.

    #!/usr/bin/env perl
     
    use Mojolicious::Lite;
     
    get '/' => sub { shift->render(text => 'Hello World!') };
     
    app->start;

Вызов app->start, который запускает систему команд Mojolicious, может быть настроен так, чтобы переопределить обычное использование @ARGV.

    app->start('cgi');

Маршруты

Маршруты в основном просто изощренные пути, которые могут содержать различные типы заполнителей. $self является экземпляром Mojolicious::Controller, содержащий HTTP запрос и ответ.

    # /foo
    get '/foo' => sub {
        my $self = shift;
        $self->render(text => 'Hello World!');
    };

Имена маршрутов

У всех маршрутов могут быть ассоциированные с ними имена, это позволяет автоматически определять шаблоны и осуществлять обратную связь с url_for, link_to и form_for. Имена всегда являются последним аргументом, значение * значит, что имя равно маршруту без символов, не являющихся частью слова.

    # /
    get '/' => 'index';
     
    # /hello
    get '/hello' => '*';
     
Всего понемногу

Все эти возможности можно легко использовать вместе.

    # /everything/*?name=*
    get '/everything/:stuff' => [stuff => qr/\d+/] => {stuff => 23} => sub {
        shift->render('welcome');
    };

Statistic

About this Archive

This page is an archive of entries from February 2011 listed from newest to oldest.

August 2010 is the previous archive.

September 2011 is the next archive.

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