Olá a todos!
Bom esta semana como assunto para o meu segundo tutorial pensei em criar um projeto que faça conexão com banco de dados, já que na semana passada fizemos a integração entre flex e php, mas comecei desenvolver um projeto na empresa em que trabalho e necessitei fazer o mapeamento das minhas classes php para o flex, ou melhor, mapear meus "Values Objects". E na minha busca por material sobre o assunto percebi que ainda tem poucos exemplos de como se fazer isto. Então mãos a obra!
Bom esta semana como assunto para o meu segundo tutorial pensei em criar um projeto que faça conexão com banco de dados, já que na semana passada fizemos a integração entre flex e php, mas comecei desenvolver um projeto na empresa em que trabalho e necessitei fazer o mapeamento das minhas classes php para o flex, ou melhor, mapear meus "Values Objects". E na minha busca por material sobre o assunto percebi que ainda tem poucos exemplos de como se fazer isto. Então mãos a obra!
1º. Passo: Vamos criar nosso diretório que irá armazenar os valuesObjects (vo) .php. Por default o amfphp traz como diretório para os valuesObjects o diretório "services/vo/" como poderemos confirmar no arquivo globals.php dentro do diretório raiz do amf. Então vamos respeitar a regra e criar nosso objetos lá dentro:
Crie uma hierarquia de diretórios dento da pasta services do amfphp, semelhante a estrutura de projetos em flex, ou seja, DNS reverso que no caso do nosso exemplo ficará da seguinte forma:
2º. Passo: Crie dentro da pasta valuesObjects um arquivo chamado: usuario.php com a seguinte estrutura:

Obs.: O método criado pode ser testado no browser do amfphp, caso não saiba como testar pode dar uma olhada no tutorial que explica como configurar flex, amfphp e php: Configurando Flex + Amfphp + PHP
3º. Passo: Crie um projeto no Flex chamado mapFlexPhp para testarmos o mapeamento: File -> New -> Flex Project.

4º. Passo: Crie uma estrutura de classes semelhante a que criamos para o objeto .php dentro da pasta src do projeto que criamos: ...\src\br\com\mapFlexPhp\valuesObjects
5º. Passo: Crie um arquivo Action Script Class dentro da pasta que criamos, chamado usuario.as com a seguinte estrutura:
Obs.: Este arquivo é um “espelho” da classe que criamos em php.
6º. Passo: Vamos agora criar um formulário no Flex que irá receber os usuários gerados através do nosso método PHP. No arquivo .mxml principal do nosso projeto vamos desenhar um layout para receber os dados semelhante ao da imagem abaixo, que contem um botão e um dataGrid:
Complete os códigos do nosso arquivo .mxml para ficar semelhante ao que esta apresentado na próxima imagem:
7º. Passo: Compile o projeto e clique no botão Buscar Usuários... pronto, você retornou para o dataGrig objetos do tipo usuário.
Arquivos do projeto para download: mapFlexPHP.rar
Você agora provavelmente deve estar se perguntando para que todo este trabalho, não é? Bom com este tipo de mapeamento você tem um controle muito maior dos objetos em sua aplicação, porque você estará trabalhando com objetos de tipos especificos com atributos e tipos corretos, e não mais com objetos genéricos. E sem contar o quanto facilita nas transações CRUD (Create, Retrieve, Update and Delete) com o banco de dados, entre outras vantagens. Vale a pena dar uma olhada em algum material referente a RPC (Remote Procedure Call - Chamada de Procedimento Remoto).
Tentei fazer um projeto o mais simples possível, mas este é um assunto bastante complexo então as vezes pode parecer um "bixo de 7 cabeças", mas digo a você que não é!
Um grande abraço e até a próxima!!!







Muito bom, parabens pela iniciativa!
ResponderExcluirColocarei sim um link no meu blog. Posso até postar a respeito, mas quero antes que vc coloque mais artigos online.
Quanto tiver mais material, por favor me avise!
Um grande abraço,
Ved
Muito bom, belo artigo!!!
ResponderExcluirPermita-me dar uma sugestão: o código-fonte poderia ficar em texto mesmo, e não em imagem. Fica mais fácil pra você mesmo atualizar, pro seu código ser encontrado em mecanismos de busca e para quem tiver interesse poder copiar um trecho do código q vc postou tb. No meu blog, eu uso um plugin (para Wordpress) que cuida do syntax hilight. Acredito que o blogspot possa ter algo parecido.
Vou acompanhar o teu blog através dos feeds! ;-)
Grato pela sugestão...
ResponderExcluirVou ver se consigo algo deste tipo sim! ;]
Abs.
o link se encontra forá do ar, ótima matéria show de bola obrigado por sua dedicação e criatividade para quem está ainda aprendendo flex irá ajudar em muito.
ResponderExcluirOpa desculpa pelo problema no link, mas o problema já foi resolvido!
ResponderExcluirQlq coisa estou a disposição... abs!