Vamos aprender como instalar o AMFPHP e fazer um teste para ver seu funcionamento. Primeiramente baixe a versão mais recente no site http://www.amfphp.org/ e as classes do Flash Remoting. Depois de descompactado e enviado para o servidor a sua estrutura de diretorios deve ficar mais ou menos como na imagem a seguir:
Note que por padrão salvaremos as classes criadas no diretorio “services”, o arquivo “gateway.php” apontará para esse mesmo diretório.
Podemos testar nosso AMFPHP agora, vamos criar uma classe para teste e salva-la no diretorio “services”.
[as]< ?php
class teste{
function teste(){
$this->methodTable = array(
“ola” => array(
“description” => “testando o AMFPHP”,
“access” => “remote”, // available values are private, public, remote
“arguments” => array (“msg”)
)
);
}
function ola($msg){
return $msg;
}
}
?>[/as]
Vamos para o Flash agora, usaremos o Action Script 2.0 para isso.
Abra um novo documento no Flash e na primeira camada aperte F9 para abrir o painel de “actions”.
[as]import mx.remoting.Service;
import mx.services.Log;
import mx.rpc.RelayResponder;
import mx.rpc.FaultEvent;
import mx.remoting.DataGlue;
import mx.rpc.ResultEvent;
import mx.remoting.PendingCall;
import mx.remoting.RecordSet;
//troque localhost pelo endereço do seu servidor web
var conexao = new Service(“http://localhost/flashservices/gateway.php”, new Log(), “teste”, null, null);
var pcs:PendingCall = conexao.ola(“Ola Flash Remoting!!!”);
pcs.responder = new RelayResponder(this, “ola_Result”, “ola_Fault”);
function ola_Result(res:ResultEvent) {
trace(res.result);
}
function ola_Fault(fault:FaultEvent) {
trace(fault.fault.faultstring);
}[/as]
Dê Ctrl+enter para testar sua aplicação, caso tudo esteja certo deverá aparecer algo como na imagem abaixo:
Flash Remoting Developer Center
http://www.macromedia.com/devnet/flashremoting/
AMFPHP
http://www.amfphp.org/
Olá,
Você possui algum exemplo do Remoting para Flash 8?
Pois nenhum dos exemplos do Flash MX2004 funciona no Flash 8!
Valeu!!!
os meus exemplos são usando o Flash 8, verifique se vc instalou as classes do remoting para o FLash 8
http://www.macromedia.com/software/flashremoting/downloads/components/
Saudações Leonar França,
O arquivo teste.php foi carregado com sucesso, mas a classe teste não foi encontrada… o que pode estar errado?
Não alterei seu exemplo em A.S.
No Aguardo Jonas Gozdecki
Podes me adicionar no Msn
jonasgozdecki@hotmail.com
valeu.
ola!!estou fazendo um site no flash 8,mas esse mesmo site nao abre no flash mx 2004.mas precisaria pq tenho exemplos de formularios de email só em flash mx.obrigado.
No Flash 8 tem a opção para salvar para o mx 2004, é so pedir “salvar como…”
ate mais
Leonardo França
Muito bom esse artigo, mais tentei na minha maquina e de um erro diferente, instalei todos os componetespara flash 8 esse eh o erro:
“The file {teste.php} exists and was included correctly but a class by that name could not be found in that file. Perhaps the class is misnames or you are running into a case-sensitivity issue, or the class exists but contains syntax errors.”
Ola Osmar, tente trocar as aspas na classe PHP por ” e tente novamente. As aspas que o blog coloca resultam em erros mesmo.
Valeu mesmo kara era esse o problema!!!
Parabens!!!!!!!!!!!
Cara, esse exemplo funciona na mesma hora quando dou control+enter no flash e ele abre o arquivo lá… Mas quando coloco na net… Demora 15 minutos para começar a funcionar… O swf carrega, fica em branco, e depois de muito tempo dá certo. Porque isso acontece?
estranho acontecer isso, veja se acontece com esse exemplo:
http://www.osfederais.com/datagrid.html
Ate mais
Leonardo França
Eu tenho que mandar algo pro servidor além do swf e dos arquivos php?
Obrigado pela atenção!
Não, não está acontecendo com o exemplo a cima. Está abrindo normalmente.
Pelo amor de deus cara, me ajuda!!!
São 4:41 da manhã, até coloquei o despertador pra ver se já responderam à s minha questão nos fóruns ou aqui e nada, estou fazzendo a coisa mais importante da minha carreira atualmente mas não há jeito de funcionar…. Vim aqui suplicar uma ajuda. Se você puder ajudar, eu agradeço profundamente. Valeu cara!!!
OLá Leonardo França
Parabens pelo Tutorial.
Estou com o mesmo problema do colega Augusto Will, o exemplo funciona localmente dando control+enter, mas não funciona na Web.
Simplesmente a página permanece em branco.
No exemplo http://www.osfederais/datagrid.html
a página é carregada normalmente.
Você ou alguem descobriu o que é isto ?
Um abraço
Fabio Adorno
o Will descobriu que era uma configuração no servidor que estava faltando, vou ver com ele exatamente oq era e ti passo
Tive problemas para rodar este exemplo, depois de algumas tentativas notei que as aspas (“) estavam diferentes, daà troquei as aspas (“) que veio no exemplo…. Bum!!! agora roda tranquilamente…..
Valeu….
Olha eu estou com esse problema ai tambem local ele funcioa tudo certo mais quando eu coloco na net ele não funciona!!!
Teria como me ajudar nessa ai tambem Obrigado!!!!
Quais os parametros passados aqui:
var conexao = new Service(“http://localhost/flashservices/gateway.php”, new Log(), “teste”, null, null);
os parametros sao o endereço do gateway, geralmente é o endereço do dominio + diretorio do AMFPHP + gateway.php, o outro parametro é o nome da classe salva no diretorio services, no exemplo foi usado uma classe com nome de \”teste\”.
o new Log(), é um debug que não é obrigatorio, ira mostrar no painel output o resultado da consulta
Consegui! Instalei e funcionou! Parabéns!
ótima introdução era isso que estava buscando…
Me tira uma dúvida como posso proteger minha aplicação em Flex + AFMPHP usando Session ?
Isso daria um bom artigo creio que muita gente tem essa dúvida.Obrigado
sugestão anotada 😉
Muito bom post. Parabéns!