Mercurial > pub > Impl
changeset 160:3f09584bf189
Corrected web application modules
author | wizard |
---|---|
date | Mon, 27 Dec 2010 19:41:36 +0300 |
parents | f8de52d3c112 |
children | 47c9877ccacc |
files | Lib/IMPL/Web/Application/ControllerUnit.pm Lib/IMPL/Web/QueryHandler/PageFormat.pm Lib/IMPL/Web/QueryHandler/UrlController.pm |
diffstat | 3 files changed, 19 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/Lib/IMPL/Web/Application/ControllerUnit.pm Mon Dec 27 01:37:44 2010 +0300 +++ b/Lib/IMPL/Web/Application/ControllerUnit.pm Mon Dec 27 19:41:36 2010 +0300 @@ -211,7 +211,7 @@ my %methodInfo = ( name => $method ); - $methodInfo{parameters} = $info->{parameters} if $info->{parameters}; + $methodInfo{parameters} = [ grep /^[^\:]/, @{ $info->{parameters} } ] if ref $info->{parameters} eq 'ARRAY'; push @{$smd{methods}},\%methodInfo; } return \%smd;
--- a/Lib/IMPL/Web/QueryHandler/PageFormat.pm Mon Dec 27 01:37:44 2010 +0300 +++ b/Lib/IMPL/Web/QueryHandler/PageFormat.pm Mon Dec 27 19:41:36 2010 +0300 @@ -19,6 +19,7 @@ BEGIN { public property templatesCharset => prop_all; public property templatesBase => prop_all; + public property includes => prop_all | prop_list; public property defaultTarget => prop_all; public property pathinfoPrefix => prop_all; public property cache => prop_all; @@ -77,7 +78,7 @@ $doc->LoadFile ( ($this->template || File::Spec->catfile($this->templatesBase,@path)), $this->templatesCharset, - $this->templatesBase, + [$this->templatesBase, $this->includes], { result => scalar($nextHandler->()), action => $action,
--- a/Lib/IMPL/Web/QueryHandler/UrlController.pm Mon Dec 27 01:37:44 2010 +0300 +++ b/Lib/IMPL/Web/QueryHandler/UrlController.pm Mon Dec 27 19:41:36 2010 +0300 @@ -16,7 +16,7 @@ sub Process { my ($this,$action,$nextHandler) = @_; - my $namespace = $this->namespace || $action->application->type; + my $namespace = $this->namespace || $action->application->typeof; my @target = grep $_, split /\//, ($ENV{PATH_INFO} || '') or die new IMPL::Exception("No target specified"); @@ -53,10 +53,24 @@ =head1 NAME -C<IMPL::Web::QueryHandler::UrlController> - вызов метода на основе <url> запроса. +C<IMPL::Web::QueryHandler::UrlController> - вызов метода на основе C<url> запроса. =head1 DESCRIPTION Использует переменную C<$ENV{PATH_INFO}> для получения имени и метода модуля. +Например запрос C<http://localhost/User/register.html> интерпретируется как вызов метода C<register> +у модуля C<User>. + +=head1 MEMBERS + +=head2 PROPERTIES + +=over + +=item C<[get,set] namespace> + +Пространство имен в котором находится модуль. по умолчению совпадает с именем класса приложения, например C<My::App> + +=back =cut \ No newline at end of file