Catalyst Framework Perl - Parte III
Nesse artigo vou mostrar o básico sobre como usar os Actions para definir a organização de sua aplicação e como capturar os argumentos.
Parte 2: Capturando os argumentos
Para capturar os argumentos do action usando Global, exemplos:
- Primeiro exemplo com um argumento:
Quando você acessar a URL assim: http://localhost:3000/exemplo/lucas
Irá imprimir na tela:
- Segundo exemplo com dois argumentos:
Quando você acessar a URL assim: http://localhost:3000/exemplo/maria
Irá imprimir na tela:
Quando você acessar a URL assim: http://localhost:3000/exemplo/maria/jesus
Irá imprimir na tela:
Para capturar o action que está sendo executado, você usa o método action. Exemplo:
Quando você acessar a URL assim: http://localhost:3000/site
Irá imprimir na tela:
Para capturar os valores da regex usando Regex, exemplo:
Quando você acessar a URL assim: http://localhost:3000/item879/order8999
Irá imprimir na tela:
Espero que tenham gostado. Para saber mais sobre Catalyst:
Autor: Lucas Tiago de Moraes (Lucas1)
E-mail:lucastiagodemoraes[at]gmail.com
Artigo previamente publicado em:
- Primeiro exemplo com um argumento:
sub exemplo : Global {
my ( $self, $c, $argumento) = @_;
$c->res->body("$argumento");
}
my ( $self, $c, $argumento) = @_;
$c->res->body("$argumento");
}
Quando você acessar a URL assim: http://localhost:3000/exemplo/lucas
Irá imprimir na tela:
lucas
- Segundo exemplo com dois argumentos:
sub exemplo : Global {
my ( $self, $c, $argumento1, $argumento2 ) = @_;
$c->res->body("$argumento1 $argumento2");
}
my ( $self, $c, $argumento1, $argumento2 ) = @_;
$c->res->body("$argumento1 $argumento2");
}
Quando você acessar a URL assim: http://localhost:3000/exemplo/maria
Irá imprimir na tela:
maria
Quando você acessar a URL assim: http://localhost:3000/exemplo/maria/jesus
Irá imprimir na tela:
maria jesus
Para capturar o action que está sendo executado, você usa o método action. Exemplo:
sub site : Global {
my ( $self, $c ) = @_;
$c->res->body($c->action);
}
my ( $self, $c ) = @_;
$c->res->body($c->action);
}
Quando você acessar a URL assim: http://localhost:3000/site
Irá imprimir na tela:
site
Para capturar os valores da regex usando Regex, exemplo:
sub foo : Regex('^item(\d+)/order(\d+)$') {
my ( $self, $c ) = @_;
my $valor1 = $c->req->captures->[0];
my $valor2 = $c->req->captures->[1];
$c->res->body("Valor 1: $valor1 <br /> Valor 2: $valor2");
}
my ( $self, $c ) = @_;
my $valor1 = $c->req->captures->[0];
my $valor2 = $c->req->captures->[1];
$c->res->body("Valor 1: $valor1 <br /> Valor 2: $valor2");
}
Quando você acessar a URL assim: http://localhost:3000/item879/order8999
Irá imprimir na tela:
Valor 1: 879
Valor 2: 8999
Espero que tenham gostado. Para saber mais sobre Catalyst:
- https://metacpan.org/module/Catalyst::Manual
- http://www.catalystframework.org
- http://sao-paulo.pm.org
- http://www.perl.org
Autor: Lucas Tiago de Moraes (Lucas1)
E-mail:lucastiagodemoraes[at]gmail.com
Artigo previamente publicado em: