Mercurial > pub > Impl
view Lib/IMPL/Web/Application.pm @ 55:609b59c9f03c
Web application
rewrote prop_list implementation to support IMPL::Object::List
author | wizard |
---|---|
date | Wed, 03 Mar 2010 17:40:18 +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