logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Abr 22

[Fiel Cookbook] Manipulando Datas entre Flex e PHP

Escrito por Jose Carlos Fiel em 1, 4, 6, Adobe, Adobe Flex, AMF, app, AR, auto, back, backend, BI, class, control, Controls, Cookbook, event, events, exemplo, explicação, Fiel Cookbook, Flex, for, function, handle, html, IE, if, int, label, MXML, NaN, O, on, PHP, problema, Projetos, pt, RIA, Ria’s Geral, string, UI, XML, XP, zend, Zend Amf, Zend Framework @ 04 22nd, 2010 | via http://blog.josecarlosfiel.com.br | Sem comentários
Jose Carlos Fiel
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

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

<?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/)

<?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.

Nov 24

[Fiel Cookbook] Resolvendo problema com Scroll em Apps Flex usando MacOSX

Escrito por Jose Carlos Fiel em Adobe Flex, Fiel Cookbook, MacOSX, mousewheel, Scroll @ 11 24th, 2009 | via http://blog.josecarlosfiel.com.br | Sem comentários
Jose Carlos Fiel
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Problema

Você está usando o sistema operacional MacOSX e deseja que o scroll do mouse (mousewheel) funcione em suas aplicacões Flex. Leia mais …

Out 2

[Fiel Cookbook] Previnindo que DataGrids aceitam itens de outros DataGrids

Escrito por Jose Carlos Fiel em Adobe Flex, Fiel Cookbook, Imersão Adobe Flex @ 10 2nd, 2009 | via http://blog.josecarlosfiel.com.br | Sem comentários
Jose Carlos Fiel
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Problema

Você quer classificar itens (arrastando-os para cima e para baixo) de um DataGrid e evitar que outros componentes baseados na classe ListBase (DataGrid, List, Tree, etc.) aceitem estes itens. Leia mais …

|

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2755 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com