Mercurial > pub > Impl
view Lib/IMPL/Web/Application.pm @ 50:521c9c1a3ea1
:q
author | wizard@linux-odin.local |
---|---|
date | Sat, 27 Feb 2010 16:28:45 +0300 |
parents | 16ada169ca75 |
children | 15d720913562 |
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 RequestFactory => prop_all; public property ContextInitializers => prop_all; } # custom factory sub new { my ($self,$file) = @_; return $self->LoadXMLFile($file); } sub Run { my ($this) = @_; while (my $request = $this->fetch_request()) { my $context = $this->prepare_context($request); $context->invoke($request); } } 1; =pod =head1 SYNOPSIS require MyApp; MyApp->instance('app.config')->Run(); =head1 DESCRIPTION Зкземпляр приложения содержит в себе глобальные настройки, реализует контроллер запросов, Получая запрос из источника запросов, создает контекст выполнения запроса затем выполняет запрос в указанном контексте. Контекст формируется сначала из запроса, а затем посредством набора инициализаторов =cut