[Warszawa-pm] Subclassing aplikacji

Zbigniew Lukasiak zzbbyy w gmail.com
Wto, 8 Cze 2010, 08:52:04 PDT


2010/6/8 piotr pogorzelski <pp w webtel.pl>:
> -------- Original Message  --------
> Subject: Re: [Warszawa-pm] Subclassing aplikacji
> From: Tadeusz Sośnierz <tadzikes w gmail.com>
> To: warszawa-pm w pm.org
> Date: Tue Jun 08 2010 17:43:16 GMT+0200 (CEST)
>
>> On  8-06-2010 12:09:50, piotr pogorzelski wrote:
>>>
>>> do tego ta notacja per6,
>>> ktora totalnie mi nie lezy - pisanie kodu aby wygladal
>>> jak jezyk naturalny, nie wiadomo na pierwszy rzut oka
>>> co jest czym, grrrr.
>>
>> Możesz przybliżyć, podać przykład?
>>
>
>    # GET /bye
>    get '/bye' => sub { shift->render(text => 'Bye!') };
>
>    # POST /bye
>    post '/bye' => sub { shift->render(text => 'Bye!') };
>
>    # GET|POST|DELETE /bye
>    any [qw/get post delete/] => '/bye' => sub {
>        shift->render(text => 'Bye!');
>    };
>
>    # /baz
>    any '/baz' => sub {
>        my $self   = shift;
>        my $method = $self->req->method;
>        $self->render(text => "You called /baz with $method");
>    };

Mi to jakiś uczuć estetycznych nie obraża, ale ciężko takie coś zrobić
tak, żeby działało dobrze z dziedziczeniem, a bez używania Class::MOP
to praktycznie niemożliwe.  Dlatego w WebNano trzymam się
najprostrzych rozwiązań - metody które mają być akcjami oznaczam
postfixem '_action' albo rejestruję je w 'url_map' (który działa tak
jak run_mode w CGI::Application).  Ale dla tych którzy lubią taki kod
dodałem przykład jak napisać rozszerzenie które by to realizowało.

Z.

> _______________________________________________
> Warszawa-pm mailing list
> Warszawa-pm w pm.org
> http://mail.pm.org/mailman/listinfo/warszawa-pm
>



-- 
Zbigniew Lukasiak
http://brudnopis.blogspot.com/
http://perlalchemy.blogspot.com/


Więcej informacji o liście Warszawa-pm