view Lib/IMPL/Web/Application.pm @ 56:117b6956d5a5

Web application in progress
author wizard
date Thu, 04 Mar 2010 15:46:17 +0300
parents 15d720913562
children bf59ee1cd506
line wrap: on
line source

package IMPL::Web::Application;
use strict;
use warnings;

use base qw(IMPL::Object IMPL::Object::Singleton);
use IMPL::Class::Property;

BEGIN {
    public property handlerError => prop_all;
}

# custom factory
sub new {
    my ($self,$file) = @_;
    
    return $self->LoadXMLFile($file);
}

sub Run {
    my ($this) = @_;
    
    while (my $request = $this->fetch_request()) {
        my $action = $this->prepare_action($request);
        $action->invoke($request);
    }
}

1;

__END__

=pod

=head1 SYNOPSIS

require MyApp;
MyApp->instance('app.config')->Run();

=head1 DESCRIPTION

Зкземпляр приложения содержит в себе глобальные настройки, реализует контроллер запросов,
в качестве источника запросов используется CGI или иной совместимый модуль.

Процесс обработки запроса состоит из следующих частей

1. Получение cgi запроса
2. Вызов модуля для инициализации объекта действия
3. Инициализация контекста выполнения 
4. Выполнение запроса
5. Преобразование полученных данных в тело ответа




=cut