[Warszawa-pm] Plack
Zbigniew Lukasiak
zzbbyy w gmail.com
Pią, 27 Lis 2009, 02:10:34 PST
Najlepsze intro to chyba będzie od autora:
http://www.slideshare.net/miyagawa/intro-to-psgi-and-plack
Chodzi tak naprawdę o to, że to się pisze tak samo prosto jak kiedyś
zwykłe CGI, ale można to później uruchamiać na mod_perlu, fast cgi,
HTTP::Engine i innych enginach, pełna abstrakcja. Do tego jest moduł
do testowania i wiele innych dodatków.
Ja sobie dzisiaj napisałem coś takiego:
use Template;
use Plack::Request;
my $t = Template->new({ INCLUDE_PATH => "root"});
sub {
my $req = Plack::Request->new(shift); i
my (undef, $template) = split /\//, $req->path;
my %vars;
my $out;
my $res = $req->new_response(200);
$res->content_type('text/html');
$t->process($template, \%vars, \$out)
? $res->body($out) : $res->body($t->error);
return $res->finalize;
};
------------------
Później zachowałem to jako pico.pl, stworzyłem katlog 'root' i
wrzuciłem tam templaty TT. Teraz jak uruchomię to przez:
plackup -a pico.pl
to to mi serwuje te templejty (na przykład pod adresem
http://0:5000/aaa dostaję to co TT wyprodukuje z templejtu nazwanego
'aaa' ).
Fajne jest to, że jak tam dodam na przykład 'die' gdzieś w środku - to
dostanę taki ładny zhtmlowany stack trace. Włączone jest to 'by
default' dla serwera deweloperskiego, ale nie dla innych - co też jest
dobrym założeniem.
Pozdrawiam,
Zbigniew Lukasiak
http://brudnopis.blogspot.com/
http://perlalchemy.blogspot.com/
Więcej informacji o liście Warszawa-pm