[SP-pm] Processando forms de maneira simples

Vitor Serra Mori vsmori em molden.com.br
Terça Julho 11 14:07:36 PDT 2006


Eu desconheço uma maneira de fazer isso (tratar um script que fisicamente
não existe) sem mexer nada na configuração do apache.

Sobre frameworks que fazem isso, eu particularmente gosto de HTML::Mason
(masonhq.com).

No seu caso, eu resolveria o problema, criando um 'autohandler' no diretório
raiz .... Com o seguinte código :

------------------------------------------------------------------------
<%init>

  &processa_pagina($m->request_comp,$m->request_args);

</%init>
------------------------------------------------------------------------

Onde $m->request_comp retornaria '/action/EnviarMensagem' e $m->request_args
um hash ref com todos os dados do formulário get/post enviados.

Ou ainda, usaria o Mason de forma mais elegante, criaria uma chamado
'EnviarMensagem' com o seguinte código :

------------------------------------------------------------------------
<%args>
  $nome     => ''
  $mensagem => ''
  @opcoes   => ''
  $submit   => undef
</%args>
<%init>

  my $mensagem;

  if (defined $submit) {
    $mensagem = &processa($nome,$mensagem,\@opcoes);
  }

</%init>
<html>
<body>

% if (defined $submit) {
<% $mensagem %> <br>
% }

<form action="/action/EnviarMensagem">
	<input type="text" name="nome"/>
	<input type="text" name="mensagem"/>
	<input type="submit"/>
</form>
</body>
</html>
------------------------------------------------------------------------

Abraços,

VX

-----Original Message-----
From: saopaulo-pm-bounces+vsmori=molden.com.br em pm.org
[mailto:saopaulo-pm-bounces+vsmori=molden.com.br em pm.org] On Behalf Of
Eduardo Verissimo
Sent: terça-feira, 11 de julho de 2006 16:56
To: Perl Mongers
Subject: [SP-pm] Processando forms de maneira simples

Boa tarde, monges!

Tive um insight a respeito de algo que poderia facilitar minha vida, quando
estivesse construindo aplicações web, e achei que vocês podiam me ajudar a
tornar mais fácil esse trabalho inicial.

A idéia é de criar um pequeno script que recebece as requisições de
formulários em um site e redirecionasse para classes de um package
específico. Por exemplo:

<form action="/action/EnviarMensagem">
	<input type="text" name="nome"/>
	<input type="text" name="mensagem"/>
	<input type="submit"/>
</form>

A minha intenção é de que esse form fosse processado por um script -
action.pl, talvez? - que criasse um objeto dda classe
Action::EnviarMensagem, o inicializasse com informações do form, e chamasse
um método "processar" dessa classe.

Dessa maneira, bastaria, para tratar um formulário, criar uma classe dentro
do diretório da package Action.

Eu acabei de pensar nisso, mas acho que já deu pra levantar umas dúvidas.
1) Colocando action="/action/EnviarMensagem", o Apache vai tentar chamar um
script /action/EnviarMensagem. O servidor deveria chamar o script /action.
Há alguma maneira de fazer isso sem ter que mexer na configuração do Apache?
2) Qual é a maneira mais simples de transformar diretamente os campos do
formulários como se fossem membros da classe, sem ter que declará-los?
3) Já há algum framework que trabalhe de maneira simples assim?

É isso, monges! Agradeço desde já pelas opiniões que enviarem!

Abraço!

Eduardo Veríssimo


		
_______________________________________________________
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
Registre seu aparelho agora! 
http://br.mobile.yahoo.com/mailalertas/ 
 

_______________________________________________
SaoPaulo-pm mailing list
SaoPaulo-pm em pm.org
http://mail.pm.org/mailman/listinfo/saopaulo-pm




Mais detalhes sobre a lista de discussão SaoPaulo-pm