hunternh 2 Denunciar post Postado Janeiro 11, 2008 Gostaria de saber se o pessoal estaria interessado em um tutorial de como instalar e utilizar o AMF com PHP, em AS2 e AS3. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Janeiro 12, 2008 seria muito bom ter esse tipo de material aqui, se você puder fazer essa contribuição para o fórum, seria ótimo []´s Compartilhar este post Link para o post Compartilhar em outros sites
GabrielFerrari 41 Denunciar post Postado Janeiro 14, 2008 AMF ? O que seria ?! Compartilhar este post Link para o post Compartilhar em outros sites
hunternh 2 Denunciar post Postado Janeiro 14, 2008 Hoje anoite eu posto o tutorial. AMF é o Flash Remoting, com ele você pode acessar classes php diretamente, podendo utilizar as funções dessas mesmas classes. Compartilhar este post Link para o post Compartilhar em outros sites
GabrielFerrari 41 Denunciar post Postado Janeiro 14, 2008 Ahh sim Obrigado :) Eu não manjo nada com php :P Compartilhar este post Link para o post Compartilhar em outros sites
hunternh 2 Denunciar post Postado Janeiro 14, 2008 Bom vamos começar, primeira coisa a se fazer é o download das classes do Flash Remoting (para AS2, pois AS3 já possui suporte nativo): http://rapidshare.com/files/83849342/mx.zip.html depois de descompactar o arquivo mx.zip, copie as pastas data, remoting, rpc e services para C:\Documents and Settings\Nome do seu usuário\Configurações locais\Dados de aplicativos\Adobe\Flash CS3\en\Configuration\Classes\mx\, mande substituir todos os arquivos. Agora é preciso fazer o download do AMFPHP http://sourceforge.net/project/showfiles.p..._id=72483#files. Documentação e exemplos no endereço: http://www.amfphp.org/ Hospede a pasta do AMFPHP no seu servidor local ou em um de sua preferência. A classe php que será usada nesse exemplo (e todas a que você utilizar com o AMF) deve ser colocada no diretório services do AMFPHP. Agora vamos aos arquivos que serão utilizados nesse exemplo: ConexaoAS2.as // importa as bibliotecas necessarias import mx.remoting.Service; import mx.services.Log; import mx.rpc.RelayResponder; import mx.rpc.FaultEvent; import mx.rpc.ResultEvent; import mx.remoting.PendingCall; class ConexaoAS2 { //define o endereço do gateway private var gateway:String; // define se tem log ou não private var log:Log; //declara o nome da classe php que será chamada private var classe:String; // declara o serviço private var servico:Service; // construtor public function ConexaoAS2(_gateway:String,_classe:String) { gateway = _gateway; classe = _classe; servico = new Service(gateway,log,classe,null,null); log = new Log; } public function get funcoes():Service { return servico; } } Crie uma nova aplicação para AS2 (esse exemplo é bem simples sem animação, só vai retornar valores para mostrar a utilização), abra a janela de AS da sua aplicação e cole o seguinte código: import ConexaoAS2; import mx.rpc.RelayResponder; import mx.rpc.FaultEvent; import mx.rpc.ResultEvent; import mx.remoting.PendingCall; // Cotacao nessa linha referesse ao nome da classe php // importante o nome do arquivo php deve ser o mesmo nome da classe var teste:ConexaoAS2 = new ConexaoAS2("http://localhost/amfphp/gateway.php","Cotacao"); function retornoC(re:ResultEvent) { trace("Dólar comercial: "+re.result); } function retornoP(re:ResultEvent) { trace("Dólar paralelo: "+re.result); } //função para exibir erros ocorridos function pc_Erro(re:FaultEvent) { //re.fault.faultstring é o que retorna de erro do php ou da conexão trace("Erro: " + re.fault.faultstring); } // aqui está sendo acessado as funções da classe php ex. getDolarC() var pc:PendingCall = teste.funcoes.getDolarC(); pc.responder=new RelayResponder(this,"retornoC","pc_Erro"); var pc:PendingCall = teste.funcoes.getDolarP(); pc.responder=new RelayResponder(this,"retornoP","pc_Erro"); agora a classe php: Cotacao.php <?php class Cotacao { private $dolarc; private $dolarp; public function __construct() { // essa verificação é para segurança, se não for o swf que você criou bloqueia o acesso a classe if(!eregi("http://localhost/cotacao.swf",$_SERVER['HTTP_REFERER'])) exit; $this->dolarc = "1,78"; $this->dolarp = "1,85"; } public function getDolarC() { return $this->dolarc; } public function getDolarP() { return $this->dolarp; } } ?> No próximo post, o exemplo de como utilizar com AS3, postem suas dúvidas. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Janeiro 14, 2008 legal hunternh, bem resumido mas já foi o bastante para o pessoal testar, acho que só faltou um exemplo de como passar um parâmetro do flash para o PHP []´s Compartilhar este post Link para o post Compartilhar em outros sites
hunternh 2 Denunciar post Postado Janeiro 15, 2008 Isso é bem simples, nesse caso a função php deve estar esperando um valor como parâmetro: ex. public function multiplicar($valor,$multiplicador) { return ($valor*$multiplicador); } no flash fica assim: var pc:PendingCall = teste.funcoes.multiplicar(23,6); no caso de querer passar vários valores para o php, o ideal é criar um objeto no flash, que será interpretado como um array pelo php: no flash var valores = new Object(); valores.nome = "hunternh"; no php será interpretado da seguinte maneira $valores['nome'] que conterá a string "hunternh". Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Rinaldi 0 Denunciar post Postado Janeiro 29, 2008 Cara, fiz exatamente o que você disse, só coloquei um campo de texto ao invés do trace pra debugar e não acontece nada! Ele não me retorna nada cara! O que pode ser? Onde estou errando? interface do amfphp: http://www.dotstudio.com.br/amfphp/browser teste: http://www.dotstudio.com.br/teste.swf Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Janeiro 30, 2008 E ai pessoal! Então, eu usava muito o amfphp com as2 mas parei de usar por alguns motivos. O amfphp, não sei se é só comigo tem sérios problemas com as versões de php, posso estar errado, mas sempre acontece algum problema quando a versões de php diferentes. Mas só tentei com versões 4 e 5, e as versões atualizadas dentro destas como, 4.2... etc. Achava muito bom, muito fácil trocar dados diretos entre php e flash e conectando ao banco. Outro coisa muito boa é a troca de arrays! http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Se alguém que conheça amfphp e puder comentar sobre as coisas acima, por favor, postem, quanto mais informação melhor! Abraços Compartilhar este post Link para o post Compartilhar em outros sites
hunternh 2 Denunciar post Postado Fevereiro 1, 2008 Não pude responder antes, mas esse fim de semana pretendo colocar um exemplo no ar, para o pessoal baixar e testar. Compartilhar este post Link para o post Compartilhar em outros sites
hunternh 2 Denunciar post Postado Fevereiro 6, 2008 Aqui estão os arquivos http://rapidshare.com/files/89647870/AMFPHP_FLASH.rar.html Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Fevereiro 12, 2008 Hunter, mas você acha viável usar amfphp direto com Flash do que usar xml e php ? Compartilhar este post Link para o post Compartilhar em outros sites
ALKSK8 0 Denunciar post Postado Fevereiro 14, 2008 Uma vantagem grande do AMFPHP, roda em HTTPS sem dar problemas. Com o Actionscript 2 é melhor usar AMFPHP tanto para enviar, quanto para receber dados, ja com o Actionscript 3 temos algumas fica melhor no flash assim: receber conteudo: XML enviar coneudo:AMFPHP enviar e receber:AMFPHP . Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Fevereiro 14, 2008 Mas é só você enviar para o php por loader, e ele já retorna do banco a resposta, nada demais, sem precisar jogar qualquer outro arquivo no servidor. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Fevereiro 15, 2008 vejo que as vantagens são: - o ganho de performance, pois a conexão com AMF é beeeem mais rápida - Você passa os paramentos com se chamasse uma função PHP do flash, usando XML ou LoadVars os valores do flash são transformados para o tipo texto para depois ir para o PHP, no retorno a mesma coisa o PHP gera um texto e manda para o flash que tem que converter esse texto para os valores mesmo, no AMF é flash conversando com PHP direto, o legal disso é que é possível tipificar os parâmetros, por isso é possível passar um Array do flash <--> PHP As Desvantagens são -Dór de cabeça nos 1º passos [tongue.gif] , mas depois que esta pronto é uma maravilha eu recomendaria usar o AMF para aplicações média e grandes, se for para passar só umas poucas variáveis seria mais fácil usar o XML mesmo, a não ser que você ja tenha uma estrutura do AMFPHP feita no seu site e funcionando, uma dica legal é criar uma classe no flash para agilizar o desenvolvimento, vou dar uma arrumada aqui na classe que eu uso o posto mais tarde []´s Compartilhar este post Link para o post Compartilhar em outros sites
hunternh 2 Denunciar post Postado Fevereiro 29, 2008 Exemplo prático do uso do AMF, fiz um form para envio de e-mail, não envia o e-mail, mas mostra como enviar os dados para o php e o mesmo retorna se houve ou não um erro: http://rapidshare.com/files/95943693/form.rar.html Compartilhar este post Link para o post Compartilhar em outros sites
Comucation 0 Denunciar post Postado Março 11, 2008 você esqueceu de mandar o código AS3 ... rs mas pra qm quiser nesse link aqui explica: http://www.oscartrelles.com/archives/as3_f...emoting_example agredecimentos ao eder pelo link ;] Compartilhar este post Link para o post Compartilhar em outros sites
hunternh 2 Denunciar post Postado Março 13, 2008 Aqui está o mesmo exemplo em AS2 e AS3: http://rapidshare.com/files/99208010/form2.rar.html Compartilhar este post Link para o post Compartilhar em outros sites
Comucation 0 Denunciar post Postado Março 15, 2008 Falei do as3 ai e esqueci de te agradecer e parabenizar! rs muito bom e esclarecedor seu tutorial ;)! Me ajudou inclusive, pois ainda não havia explorado esse recurso embora jah tive-se ouvido falar! No meu próximo projeto, o AMFPHP jah tah com seu lugarzinho garantido http://forum.imasters.com.br/public/style_emoticons/default/shifty.gif rs Muito obrigado e parabéns. ^_^ continue sempre assim. abraços Compartilhar este post Link para o post Compartilhar em outros sites