Bom Dia Pessoal,
Estou usando (passando raiva) com o AMFPHP versão 1.9, configurei o classpath e
agora consigo passar objetos do Flex pro PHP e vice-versa. Meu problema é o
seguinte, eu tenho uma variável do tipo float e outra do tipo DateTime no PHP.
Como fazer o AMFPHP serializar e deserializar esse tipo de objeto?
Eu dei uma olhada nos arquivos do SabreAMF e vi que ele conseguia passar esses
dois tipos, como o AMFPHP eu terei que programar ou já tem implementado?
Bons códigos,
-Daniel Negri
Códigos de Exemplo:
<?php
class Produto {
public codigo;
public titulo;
public dataEntrada;
public valor;
}
?>
package negocio
{
[Bindable]
[RemoteClass(alias="negocio.Produto")]
public class Produto
{
public var codigo:int;
public var titulo:String;
public var dataEntrada:Date;
public var valor:Number;
public function Produto() {
this.codigo = 0;
this.titulo = "";
this.dataEntrada = new Date();
this.valor = 0;
}
}
}
SabreAMF
/**
* readDate
*
* @return int
*/
public function readDate() {
$dateref = $this->readInt();
if (($dateref & 0x01) == 0) {
$dateref = $dateref >> 1;
if ($dateref>=count($this->storedObjects)) {
throw new Exception('Undefined date reference: ' .
$dateref);
return false;
}
return $this->storedObjects[$dateref];
}
$timestamp = floor($this->stream->readDouble() / 1000);
$dateTime = new DateTime('@' . $timestamp);
$this->storedObjects[] = $dateTime;
return $dateTime;
}
/**
* Writes a date object
*
* @param DateTime $data
* @return void
*/
public function writeDate(DateTime $data) {
// We're always sending actual date objects, never references
$this->writeInt(0x01);
$this->stream->writeDouble($data->format('U')*1000);
}
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---