Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Pavel V. Ammosov                     2:5020/400     02 Dec 2000  01:25:24
 To : Michael Samanov
 Subject : Re: Apache::Registry + 404
 -------------------------------------------------------------------------------- 
 
 On Fri, 01 Dec 2000 20:55:37 +0300, Michael Samanov <mike@vlink.ru> wrote:
 
 >>>И заодно вопрос: нет ли какого стандартного модуля, чтоб
 >>>воткнуть его как PerlHandler, и он бы только грузил скрипт и
 >>>вызывал sub handler?
 >
 >aipmr>      Почему бы просто не написать хандлер в модуле?
 >
 >В каком модуле?
 
    В своем собственном. :-)
    
 >
 >Давай спрошу немного по-другому: какой наиболее тонкий
 >_стандартный_ (из поставки модперла или с CPAN-а) модуль можно
 >использовать как PerlHandler? Подразумевается, что
 >Apache::Registry достаточно толстый модуль, который делает для
 >меня много лишнего.
   
 PerlHandler просто вызвает функцию handler из модуля, который ты ему скажешь,
 или функцию, которую скажешь и передает ей Apache->request первым параметром.
 
 Hу, вот так, например:
 
 package Zyztem::Template;
 use strict;                                                                  
 use Apache::Constants qw(:common);                                           
 use HTML::Template;
 use Apache::Reload; # Эту штуку стоит взять с CPAN
 
 sub handler {
   my $r = shift;
   
   my $file = $r->filename;
   unless (-e $r->finfo) {
       $r->log_error("File does not exist: $file");
    return NOT_FOUND;
   }
 
   unless (-r _) {
    $r->log_error("File permissions deny access: $file");
    return FORBIDDEN;
   }
   
   $r->content_type('text/html'); 
   $r->send_http_header();
 
   my $template = new HTML::Template('filename'=>$file);
   $r->print($template->output());
   return OK;
 }
 1;
 помести это в каталог Zyztem/ и пропиши в apache:
     <Files *.tmpl>
         SetHandler perl-script
         PerlHandler Zyztem::Template
     </Files>
 
 И все, собственно.
 
 Магия всего этого объяснена в Eagle book, прям в главе 4 которая 
 и доступна на сайте O'Reilly. 
 
 Пиши, если чего непонятно.
 
 -- 
 Pavel Ammosov                                               O    \
 apavel@aha.ru                                                 __  )
 http://isabase.philol.msu.ru/~apavel/                             )
 wget -O - isabase.philol.msu.ru/~apavel/key.asc|pgp -fka    O    /
 --- ifmail v.2.15dev5
  * Origin: Gamma NNTP server Moscow Russia (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Apache::Registry + 404   Pavel V. Ammosov   02 Dec 2000 01:25:24 
Архивное /ru.cgi.perl/1538224b9085b.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional