Pessoal, na versão 1.2 do amfphp, no arquivo amfphp\amf-core\io \AMFDeserializer.php, na linha 190, temos:
/** * readObject reads the name/value properties of the amf message and converts them into * their equivilent php representation * * @return array The php array with the object data */ function readObject() { $ret = array(); // init the array $key = $this->readUTF(); // grab the key for ($type = $this->readByte(); $type != 9; $type = $this- >readByte()) { $val = $this->readData($type); // grab the value $ret[$key] = $val; // save the name/value pair in the array $key = $this->readUTF(); // get the next name } return $ret; // return the array } Isto é, um objeto do AMF torna-se um array do PHP.... Aqui que devemos alterar. Eu posso alterar o código para vocês mas nao tenho como testar aqui no meu trabalho, entao o código abaixo pode nao funcionar.....Veja: Antigo >>>>>>>>>>> Novo linha: 191 $ret = array(); // init the array >>>>> $ret = new stdclass(); // init the object linha:195 $ret[$key] = $val; // save the name/value pair in the array >>>> $ret->$key = $val; Acho que é isso. Pelo menos é melhor do que criar um método que reescreve a array em objeto .... On Nov 29, 5:52 pm, [EMAIL PROTECTED] wrote: > AMFPHP 1.9? > > Para que re-escrever a roda? > > O AMFPHP 1.9 já contém um "conversor" que faz os method table... > > ë só fazer o que falei ali em cima... > > On 29 nov, 17:37, "Alexandre Bini" <[EMAIL PROTECTED]> wrote: > > > rapaz... nesse preço, manda aí =] > > > Abraços > > > Em 29/11/07, Lino X <[EMAIL PROTECTED]> escreveu: > > > > Daniel, gostaria de ver como vc fez no AMFPHP. > > > > Abraço, > > > Lino > > > > Em 29/11/07, Daniel Schmitz <[EMAIL PROTECTED] > escreveu: > > > > > Olá, > > > > > vc pode também "entrar" no código fonte do AMFPHP e resolver isso... > > > > ou seja, quando for criar o array... cria o objeto... Eu fiz assim pra > > > > tudo ser objeto.... se quiser te passo > > > > > Abraços, > > > > Daniel Schmitz > > > > > On Nov 29, 4:12 pm, "Alexandre Bini" < [EMAIL PROTECTED]> wrote: > > > > > Então gente... resolvi da seguinte forma... > > > > > > Li a documentacao do amfphp, e, os objetos são convertidos em matrizes > > > > > associativas ao chegar no php... > > > > > > Então, criei uma funçãozinha que converte a array associativa em um > > > > objeto, > > > > > pra facilitar a manipulação, e pronto =] > > > > > > a funçãozinha ficou assim > > > > > > //converte o array em objeto > > > > > function array_to_object($array, $arrayNomes){ > > > > > for($i=0; $i<count($arrayNomes); $i++){ > > > > > $valor = $array[$arrayNomes[$i]]; > > > > > $object->$arrayNomes[$i] = $valor; > > > > > } > > > > > return($object); > > > > > } > > > > > > mágico... =] > > > > > > Valeu gente, obrigado > > > > > > Em 29/11/07, Daniel Schmitz < [EMAIL PROTECTED]> escreveu: > > > > > > > Hehehehehe, tudo bem! > > > > > > > Um Guru uma vez me disse: Melhor do que saber quando usar é saber > > > > > > quando NÃO usar... > > > > > > > tudo é uma questão de conceito, perspectiva e necessidade. O cara só > > > > > > quer ver a "bagaça" funcionar :) > > > > > > > On Nov 29, 1:18 pm, Rodrigo Pereira Fraga < [EMAIL PROTECTED]> > > > > wrote: > > > > > > > Bom depende, > > > > > > > Se vc for fazer algo que ignora os Conceitos O.O, o que gera baixa > > > > > > coesão e alto acoplamento (se que vai existir classes) > > > > > > > que tenha um baixo grau de manutenabilidade e esse seu sistema não > > > > > > prover escalabilidade... > > > > > > > > Faça assim... > > > > > > > Mas na boa mesmo? se for fazer assim use HttpService... Pra que > > > > trocar > > > > > > atributos? > > > > > > > > \o/ > > > > > > > De: > > > > > > > ------------------------------ | Rodrigo Pereira > > > > Fraga|http://e- > > > > > > digows.blogspot.com > > > > > > > > e-mails: [EMAIL PROTECTED] > > > > > > > [EMAIL PROTECTED] > > > > > > > ------------------------------ > > > > > > > > > Date: Thu, 29 Nov 2007 07:41:28 -0800> Subject: [flexdev] Re: > > > > Passar > > > > > > objeto como parâmetro para o amfphp, tem jeito> From: [EMAIL > > > > > > PROTECTED] > > > > > > > To: flexdev@googlegroups.com> > > Bom, nao precisa criar um VO... BO > > > > ...> > > > > > > > > var $obj = new stdClass();> $obj->qualquerCoisa = " > > > > blabaalabal";> > > > > > > > ......> > > > > On Nov 29, 10:41 am, Rodrigo Pereira Fraga < > > > > > > [EMAIL PROTECTED]> wrote:> > Monte seu VO/DTO no AS> > Ex:> >> > > > > > Pais.as> > > > > > > >> > package com.digows.business.vo> > {> >> > //Local do VO Espelho > > > > no > > > > > > Beck-end.> >> > > > > > > > [RemoteClass(alias="com.digows.business.vo.PaisVO")]> >> > > > > > > > [Bindable]> > public class PaisVO> > {> > public var idPais:int;> > > > > > public > > > > > > var dsPais:String;> >> > public function PaisVO()> > {> > > > > > this.idPais = > > > > > > new Number();> > this.dsPais = new String();> > this.sgPais = new > > > > > > String();> > }> > }> >> > }> >> > e no PHP, vc deve ter um VO/DTO > > > > espelho.> > > > > > > > Ex:> >> > Pais.php> >> > <?php> > class PaisVO> > {> > var > > > > $idPais;> > > > > > > > var $dsPais;> >> > //Local do VO Espelho no Flex.> > var > > > > $_explicitType = > > > > > > "PaisVO";}> >> > ?>> >> > Para receber ou enviar isso, é só > > > > trabalhar com > > > > > > instâncias deste VO/DTO> > Ex:> >> > ServicesPais.php> >> > function > > > > > > > salvar(PaisVO $p_pais)> > {> > return("Salvou!: ".$p_pais.dsPais);> > > > > >> > }> > > > > > > >> > Apenas isso! +)> > Estou para montar um tutorial sobre como > > > > fazer essa > > > > > > integração PHP/Flex de forma arquitetural> > trocando apenas objetos > > > > e > > > > > > usando um framework de persistência....> >> > Blza?> >> > Abraços e > > > > boa > > > > > > sorte> > \o/> > De:> > ------------------------------ | Rodrigo > > > > Pereira > > > > > > Fraga|http://e-digows.blogspot.com> >> > e-mails: [EMAIL PROTECTED]> > > > > > > > [EMAIL PROTECTED]> > ------------------------------> >> > Date: > > > > Thu, 29 > > > > > > Nov 2007 10:34:06 -0200From: [EMAIL PROTECTED]: > > > > > > [EMAIL PROTECTED]: [flexdev] Re: Passar objeto como > > > > > > parâmetro para o amfphp, tem jeitoisso... porém, dentro de um > > > > object...> > > > > > > > Em 29/11/07, Daniel Schmitz < [EMAIL PROTECTED]> escreveu:> > Por > > > > > > exemplo, passar os dados de um formulário ? Seria isso ?On Nov 29, > > > > 6:40 am, > > > > > > "Alexandre Bini" < [EMAIL PROTECTED]> wrote:> Olá pessoal, bom > > > > > > dia.>> Estou aqui tentando passar um objeto do flex para o amfphp > > > > como > > > > > > parâmetro,> porém, no amfphp, os atributos vem vazios... >> Alguém > > > > já > > > > > > precisou usar isso?>> Abraços>> --> Alexandre Bini> 18 3641-4382> > > > > msn: > > > > > > [EMAIL > > > > > > PROTECTED]<br_________________________________________________________________> > > > > > > > > Receba as últimas notícias do Brasil e do mundo direto no seu > > > > Messenger > > > > > > com Alertas MSN! É GRÁTIS!http://alertas.br.msn.com/> > > > > > > _________________________________________________________________ > > > > > > > > Conheça o Windows Live Spaces, a rede de relacionamentos conectada > > > > ao > > > > > > Messenger!http://spaces.live.com/signup.aspx > > > > > > -- > > > > > Alexandre Bini > > > > > 18 3641-4382 > > > > > msn: [EMAIL PROTECTED]> > > > > -- > > Alexandre Bini > > 18 3641-4382 > > msn: [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---