Artigos com o marcador Zend Amf
App demo que será desenvolvida neste sábado (17/07) no #minizend
14/07/10
Neste sábado (17/07) será a terceira vez que ministrarei o Mini curso On-line de Flex e Zend Framework (#minizend).
Então apresento no vídeo abaixo a aplicação demo que será desenvolvida. Além dela será criado um aplicativo AIR para cadastrar pedidos de vendas.
Pretendo também mostrar um pouco sobre Mate Framework no lado do Flex, deixando o projeto mais organizado.
Para quem não se matriculou ainda, não se preocupe, pois ainda há tempo!
Acesse www.riacycle.com/zend e garanta sua vaga.
[Fiel Cookbook] Manipulando Datas entre Flex e PHP
22/04/10
Problema
Temos um DateField no Flex e queremos enviar a data selecionada para o PHP como um objeto Date e não somente uma simples string no fomato DD/MM/YYYY. Enviando o objeto Date, teremos o benefício de ter todas as informações de Timezone, GMT e etc para serem manipuladas futuramente via backend.
Solução
Para resolvermos nosso problema, devemos utilizar o Zend Amf para serialização/deserialização de objetos entre Flex e PHP. No Flex simplesmente usaremos a propriedade selectedDate do DateField para selecionarmos o objeto Date e após enviar ao PHP via RemoteObject. O Zend Amf terá o papel de converter este objeto para Zend Date e vice versa.
Explicação Detalhada
Obs.: O ViewSource está habilitado no exemplo abaixo para quem quiser acompanhar melhor esta explicação.
1º – Capturamos o objeto Date pela propriedade selectedDate do DateField e enviamos para o PHP.
FlexPHPDate.mxml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; public function getTimezone():void { remote.getTimezone(dt.selectedDate); } public function getTimestamp():void { remote.getTimestamp(dt.selectedDate); } protected function remote_resultHandler(event:ResultEvent):void { Alert.show(event.result.toString()); } ]]> </mx:Script> <mx:DateField id="dt" formatString="DD/MM/YYYY" /> <mx:Button label="Get Timezone" click="getTimezone()" enabled="{ dt.selectedDate != null }" /> <mx:Button label="Get UNIX timestamp" click="getTimestamp()" enabled="{ dt.selectedDate != null }" /> <mx:RemoteObject id="remote" destination="zend" endpoint="../gateway.php" source="DateService" result="remote_resultHandler(event)"/> </mx:Application> |
2º – Recebemos o objeto Date no PHP já convertido para Zend_Date. Isso é feito automaticamente pelo Zend_Amf.
DateService.php (está localizando dentro da pasta /services/)
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php class DateService { public function getTimezone(Zend_Date $date) { return $date->getTimezone(); } public function getTimestamp(Zend_Date $date) { return $date->getTimestamp(); } } |
Exemplo da Solução: Ao selecionarmos a data e selecionando Get Timezone, mandaremos para o PHP o objeto Date e após o PHP enviará para nós um timestamp desta data atravéz do Zend_Date. Acontece o mesmo para Get UNIX Timestamp.
Baixe aqui o projeto Flex incluindo o PHP: FlexPHPDate.zip
Observações Finais
Esta prática é interessante para manipularmos o mesmo objeto Date de uma linguagem para outra, com várias informações de Timezone, GMT e etc, como citados acima.
Abraços a todos e até o próximo Fiel Cookbook.
ZamfBrowser – O browser do Zend Amf
13/11/09
Olá pessoal. Para aqueles que acompanham meu blog, deve ter visto que eu sumi por um bom tempo, mas estou de volta e com novidades.
Primeiro o motivo de estar desaparecido pelo blog, é que estava estudando para a certificação Adobe Flex/AIR e consegui passar na prova hoje. Isso hoje, em plena sexta-feira 13.
A outra novidade trago no assunto do post mesmo, que é a melhor novidade para os PHPzeiros de plantão. O ZamfBrowser (Figura 1).
Figura 1: ZamfBrowser – O primeiro browser para Zend Amf desenvolvido em AIR.
Ele é o primeiro browser para o Zend Amf, como todos perguntavam, por que o Zend Amf não possuia ainda um browser e muitos desistiam dele por que não tinha este recurso e voltava para o AMFPHP, já sem manutenção a um bom tempo.
Vocês podem ver mais sobre o ZamfBrowser no site oficial: http://www.zamfbrowser.org/
Ainda não vou comentar sobre ele, até mesmo porque ainda não testei. Assim que testá-lo estarei trazendo notícias dele aqui e no twitter. Fique ligado!
Espero que seja útil para todos da turma do Zend Amf e aqueles que desejam finalmente migrar para ele.
Abraços e até a próxima.
Palestra Flex + PHP usando Zend Amf (Flex Mania)
09/07/09
Olá pessoal! Já está disponível a gravação da minha palestra sobre Flex + PHP usando Zend Amf no grande evento da Flex Mania. Peço desculpas pelo nervosismo, mas esta foi minha primeira palestra e tentei focar no objetivo que era integrar o Flex e PHP com o Zend Amf.
Os slides e o app de exemplo segue abaixo para download.
Agradeço a todos que me apoiaram e ao Igor Costa que me deu esta oportunidade para participar de um grande evento como foi o Flex Mania.
Acesse minha palestra aqui: http://tinyurl.com/lnphvc
Slides: http://tinyurl.com/m52dh6
App: http://tinyurl.com/m5xbrx
Também não percam as outras palestras do Flex Mania… é imperdível!!! Acesse e Assista: www.flexmania.com.br
Maior atualização do Zend Amf (1.8.4 release)
01/07/09
É bom estar de olho nas atualizações do Zend Framework, que sempre corrige bugs ou adiciona uma nova funcionalidade ou plugin para uso. Desde então é a maior atualização do componente Zend Amf desde o seu lançamento.
Atualmente o Zend Framework na versão 1.8.4 recebeu muitas alterações no componente Zend Amf que vale a pena ficar atento e testar novas funcionalidades ou verificar as correções efetuadas. Veja abaixo as alterações:
Maiores Alterações
ZF-6641 Shared references are duplicated
ZF-6205 Serializer does not support cyclic references
ZF-6393 Wrong Amf0_Amf3 reference counting
ZF-5382 Multiple calls seems to break the deserializer.
ZF-6625 Zend Amf can load any instantiated PHP class. Security
Menores alterações, mas significantes
ZF-6975 Adobe Flash Builder 4 wizard now supports data types for introspection.
ZF-6992 Negative integers on 64 bit system is resolved.
ZF-6775 Unable to send Array’s from Blaze DS.
Ainda foi detectado um bug nesta nova versão 1.8.4. Quando usado o método addDirectory() a classe a ser chamada pára de carregar. Isso já foi resolvido, mas será lançado amanhã dia 2 de julho a correção. Veja abaixo a solução para este problema:
Substitua o Zend/Loader/PluginLoader.php pela nova versão localizada em
http://framework.zend.com/svn/framework/standard/branches/release-1.8/library/Zend/Loader/PluginLoader.php
======== Atualização 7 de Julho ========
Liberada a versão que resolve o problema do método addDirectory:
http://devzone.zend.com/article/4808-Zend-Framework-1.8.4pl1-Now-Available
Fontes:
http://wadearnold.com/blog/flash/amfphp/major-zend-amf-updates-for-184-release
http://wadearnold.com/blog/flash/zf-184-breaks-adddirectory
