AMFPHP e AS3 para noobs
August 11th, 2008
Depois de passar um tempo longe dessa caceta de blog ( caceta no sentido carinhoso da palavra, ou se preferirem no feminio que não posso escrever ) tive dando uma estudada em AS3 bem a fundo e comecei a procurar um AMF (Action Message Format) para fazer comunicação do Flash com banco de dados e assim alimentar as aplicações de forma mais rápida sem aquele taaaaaaaanto de arquivos PHP para acessar banco e outros mil para enviar dados ao Flash.
Entre as formas pagas (Flash Media Server) e o grátis eu fiquei com o FREE claro. O danado em questão é um programa, gateway, que interpreta as classes colocadas dentro dele e retorna de forma fácil os dados para a aplicação, executando até coisas simples como um form de e-mail.
AMFPHP é um programa feito em PHP, como está no próprio nome, coisa idiota, com uma interface gráfica (Browser) criada no Flex onde podemos executar as aplicações sem necessariamente rodar a aplicação em Flash. Como eu já havia dito é grátis, basta acessar o site do AMFPHP e clicar em download par abaixar a última versão do programa, basta copiar para o server dentro do diretorio que preferir – por default:
Para visualizar a parte gráfica, o browser das aplicações, basta acessar o endereço:
Segue imagem (preview) do Browser abaixo:
Um exemplo simples para utilizar no AMFPHP é um form de email, onde nesse criamos um arquivo em PHP separado chamado de Email.php dentro dele criaremos a classe Email com a função _send como veremos no código abaixo:
<?php
class Email
{
/**
* Esse serviço ira enviar um formulario
* @retorno true ou false se enviado ou nao
*/
function send($to, $subject, $message){
return mail($to, $subject, $message);
}
}?>
Com essa classe dentro do servidor dentro da pasta do AMFPHP, aperto dentro do Browser o botão de Refresh para visualizar a nova Classe “Email” criada essa pode ser executada dentro do proprio Browser somente preenchendo os campos ou do Flash que segue o source abaixo. Bem fácil de usar e não instala nada no servidor, vale a pena testar.
Source em Flash (fla): Download
Espero que gostem e até breve.





August 21st, 2008 at 15:54
Olá, muito bom seu artigo, parabéns, mas eu tenho uma dúvida, quanto a segurança de aplicações em flex, por causa do amfphp.
Como no caso acima, se a classe php executasse uma função SQL, para a exlusão de informações em uma tabela de banco de dados, bastaria ao usuário mal intencionado, digitar a url no navegador, acessar o browser e digitar o id da informação a ser excluída.
Como funciona a parte de segurança no lado do servidor, na pasta amfphp?
August 25th, 2008 at 15:52
O servidor amfphp funciona com o gateway.php e com os programas colocados na pasta services, essa pasta pode estar dentro de qualquer outra estrutura de pastas e você pode restringir o acesso à pasta services, que é onde ficam as classes, assim ninguem conseguirá fazer acesso. Agora a pasta browser onde podemos testar esses programas você pode trocar o nome da pasta, registringir acesso com senha – verificar possibilidade do servidor – assim fica seguro o uso desse programa.
September 12th, 2008 at 05:27
agradecimentos para este local mas isn’ t ele availible em inglês?
September 12th, 2008 at 12:45
@inglitere this blog is only in portugueses language, yet. i ll soon post all in two languages and after only in english. Tks for the visit ‘n cya.
x )
September 5th, 2009 at 12:01
Pablo, fiz um formulário no Flash AS3 e estou processando os dados que estão chegando corretamente a minha caixa de correios. O que falta corrigir é que quando recebo a mensagem na minha caixa de correio o remetente que aparece é meu login no servidor e chega como se houvesse sido enviado desde meu-login@meu-server.
Sabes como corrigir isso?.
Claudio
September 7th, 2009 at 16:24
@Claudio, desculpe pela demora na resposta, eu estava de viagem essa semana. Você poder colocar na sua função MAIL do PHP alguns parametros a mais para poder tirar esse email e colocar um da sua escolha. Funciona da seguinte forma:
Sendo que $headers você pode criar uma ’string’ mais ou menos assim:
Trocando, logicamente, o e-mail para o desejado no seu caso, assim ele não virá com o nome de usuário@servidor.
Qualquer coisa estamos ai e novamente desculpe pela demora a responder.