Seqüencial: Flex 2 e AMFPHP 1.9 B2 AMF3 – Parte 1

Publicado por Renan Fretta em 25/08/2007

Este é um tutorial que requer mais conhecimento, ele é diferente dos meus outros tutoriais que abordam o passo a passo desde o básico.

Para obter um melhor entendimento deste seqüencial é indispensável que você possua conhecimento dos tópicos descritos abaixo, pois eles serão abordados de uma maneira geral e você tem que conhecê-los para ficar por dentro do que esta sendo explicado.

1) O que é flash remoting, como funciona?
2) O que é AMFPHP e AMF (AMF0 e AMF3)?
3) O básico do eclipse (Flex Builder), principalmente: criar e configurar o seu projeto projeto.
4) O básico do PHP 5, que suporta orientação a objetos.
5) Conceitos de orientação a objetos.
6) Tratamento de exceções no PHP 5.
7) Saber instalar um servidor local PHP 5, ou utilizar um servidor externo configurado.
8) Conhecimento básico de SQL, neste sequêncial utilizaremos o MySQL, porém eu recomendo o PostGreSQL como banco de dados para desenvolver aplicações com o Flex, quando se trata de software livre.
9) Saber utilizar Sessões com o PHP 5.
10)
Ter um conhecimento razoável em Flex 2 e ActionScript 3.
11) Conseguir entender a referência oficial do Flex 2 disponível no menu Help do Flex Builder e a referência do PHP disponível em http://php.net, para tirar dúvidas sobre as sintaxes utilizadas.
12) Conhecer sobre o desenvolvimento de software em camadas, os conceitos de aplicações cliente servidor e RIA.

Links úteis para seu aprendizado:

1) Flex RemoteObject and AMFPHP 1.9 – http://sephiroth.it/tutorials/flashPHP/flex_remoteobject/index.php
2) PHP – Exceções: http://br.php.net/exceptions
3) PHP – Funções de manpulação de Sessões: http://br.php.net/manual/pt_BR/ref.session.php
4) Grupo Flex Coders: http://tech.groups.yahoo.com/group/flexcoders
5) Grupo Flex Brasil: http://br.groups.yahoo.com/group/flex-brasil
6) Instalando Apache + MySQL + PHP 5 no Windows: http://www.linhadecodigo.com.br/Artigo.aspx?id=1151
7)DClick Blog: http://blog.dclick.com.br
8) Comunidade Portuguesa de Desenvolvimento de Rich Internet Applications: http://www.riapt.org

————————————————————————————–

Requisitos: configuração de servidores.

1) Partindo do presuposto que você já possui um servidor PHP 5 e MySQL configurado, vamos começar com a instalação do AMFPHP 1.9 B2.
Observação: 1. se é que posso de chamar de instalação pois não tem nehum segredo em extrair os arquivos compactados. 2. se quiser pode utilizar estes pacotes pré configurados, como o EasyPHP – disponível em www.easyphp.org – o easyphp 2 (que possui suporte a PHP 5) pode não funcionar em alguns computadores por ser versão beta.

1a) Baixe o AMFPHP 1.9 B2 (compatível com PHP 5.2.2) aqui: http://www.5etdemi.com/uploads/amfphp-1.9.beta.20070513.zip – site que disponibiliza esta versão: http://www.5etdemi.com/blog

1b) No seu servidor web (geralmente o Apache[pasta htdocs]. No EasyPHP[pasta www]) crie uma pasta com o nome de sequencial_flex_amfphp, que armazenará o projeto.

1c) Extraia o arquivo amfphp-1.9.beta.20070513.zip na pasta sequencial_flex_amfphp.

1d) Agora vamos testar se o AMFPHP está funcionando corretamente, para isso acesse o endereço: http://localhost/sequencial_flex_amfphp/amfphp/browser – se você estiver usando o servidor local, caso contrário acesse o endereço de acordo com as especificações do servidor utilizado: http://{especificações do servidor utilizado}/sequencial_flex_amfphp/amfphp/browser.

1e) A tela abaixo irá aparecer:

1f) Mantenha a opção AMF3 selecionada e o Gateway location padrão (não altere o endereço) e clique no botão save.

1g) Após salvar a configuração padrão a aplicação se abrirá:

1h) Nesta aplicação é onde faremos os testes dos nossos serviços, ou seja, para saber se eles estão funcionando corretamente antes de implementá-los na aplicação em Flex.

————————————————————————————–

Revisando

Agora que já temos o servidor PHP 5 com MySQL e AMFPHP 1.9 B2 configurados, podemos iniciar a implementação da Base de Dados e dos serviços que disponibilizarão os métodos de acesso a esta base.

————————————————————————————–

Requisitos: banco de dados.

2a) Vamos criar um banco de dados com o nome de sequencial_flex_amfphp.

2b) A base de dados que utilizaremos será bem simples, observe o SQL:

CREATE TABLE usuario
(
codigo INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
sexo CHAR(1) NOT NULL,
apelido VARCHAR(200) NOT NULL,
senha VARCHAR(200) NOT NULL
);

2c) Observações: sexo (M ou F) – apelido(username) e senha(password) serão criptografados.

————————————————————————————–

Revisando

A base de dados foi criada agora vamos criar a conexão de acesso ao banco de dados.

————————————————————————————–

Requisitos: PHP 5.

3a) Vamos criar a pasta config dentro da pasta sequencial_flex_amfphp, a arquitetura de pastas do servidor deve ficar assim:

| sequencial_flex_amfphp
|– amfphp
|– config

3b) Dentro da pasta config criaremos o arquivo Conexao.php.

<?php
class Conexao
{
private $CONEXAO;

public function __construct()
{
$this->Conectar();
}

private function __sleep()
{
mysql_close($this->conexao);
}

private function __wakeup()
{
$this->Conectar();
}

private function Conectar()
{
$this->CONEXAO = mysql_connect(”localhost”, “root”, “”);
mysql_select_db(”sequencial_flex_amfphp”, $this->CONEXAO);
}

public function getConexao()
{
return $this->CONEXAO;
}

}
?>

3c) Não esqueça de alterar as configurações da conexão(disponíveis no método Conectar) de acordo com o seu servidor.

3d) Agora vamos criar um serviço de teste para verificar se a conexão esta funcionando corretamente. Vá na pasta: sequencial_flex_amfphp/amfphp/services e crie uma pasta com o nome de sequencial_flex_amfphp(que armazenará os serviços da aplicação desenvolvida neste seqëncial). A arquitetura ficará assim:

| sequencial_flex_amfphp
|– amfphp
|—— services
|——— sequencial_flex_amfphp
|– config
|—— Conexao.php

3e) Dentro da pasta que acabamos de criar, crie o arquivo Teste.php:

| sequencial_flex_amfphp
|– amfphp
|——services
|——— sequencial_flex_amfphp
|———— Teste.php
|– config
|—— Conexao.php

3f) Faremos uma consulta simples para verificar se tudo esta funcionando corretamente, segue o conteúdo do arquivo Teste.php:

<?php
require_once(”../../../config/Conexao.php”);

class Teste
{
private $CONEXAO;

public function __construct()
{
$CONEXAO = new Conexao();
$this->CONEXAO = $CONEXAO->getConexao();
}

public function totalUsuarios()
{
$SQL = “SELECT * FROM usuario”;
$QUERY = mysql_query($SQL, $this->CONEXAO);
// Retorna o total de usuários cadastrados
return mysql_num_rows($QUERY);
}

}
?>

3g) Agora voltaremos no AMFPHP Browser para verificar se o serviço funcionou como o esperado. Acesse: http://localhost/sequencial_flex_amfphp/amfphp/browser
No menu a esquerda escolha o serviço Teste, selecione o método totalUsuarios e clique no botão call, na parte de baixo verifique o resultado da solicitação, que deve aparecer o número total de resultados da tabela usuário.

————————————————————————————–

Revisando

Vimos como criar um serviço no AMFPHP e testá-lo com o auxílio da ferramenta AMFPHP Browser.

————————————————————————————–

Por enquanto é isso, aguarde a segunda parte deste seqüencial que abordará sobre a criação do login no AMFPHP 1.9.

Baixe aqui os arquivos fontes

Caso tenha alguma dúvida utilize o fórum.
Abraços, Renan Fretta – renan@mxstudio.com.br


Assine o nosso Feed
1.281 assinantes,
assine você também!
Publique esse artigo no Twitter Salve este artigo no Delicious Cadastre esse artigo no Dihitt Cadastre esse artigo no UEBA Cadastre esse artigo no Rec6

Renan Fretta

Desenvolvedor de Aplicativos Ricos para Internet (RIA) em Adobe Flex, com PHP (AMFPHP) e Java (BlazeDS).

2 usuário comentou em " Seqüencial: Flex 2 e AMFPHP 1.9 B2 AMF3 – Parte 1 "

Assine o Feed de Comtentários ou URL de Trackback

tadeu disse,
Enviado em 31-05-2008 às 1:21 pm

achei o tutorial muito bem feito.

danilobe disse,
Enviado em 22-09-2009 às 4:05 pm

na hora de testar a minha classe esta acontecendo o seguinte erro:(Object)#0
message = “faultCode:AMFPHP_RUNTIME_ERROR faultString:’mysql_num_rows(): supplied argument is not a valid MySQL result resource’ faultDetail:’C:\xampp\htdocs\sequencial_flex_amfphp\amfphp\services\sequencial_flex_amfphp\Teste.php on line 14′”
name = “Error”
rootCause = (null) o que pode ser

CONEXAO=$CONEXAO-> getConexao();
}
public function TotalProdutos(){
$sql=”select * from administrador”;
$rs = mysql_query($sql);
return mysql_num_rows($rs);

}
}
?>

Deixe o seu comentário abaixo...

 Username (*required)

 Email Address (*private)

 Website (*optional)

 

MXStudio © 2003-2010. Todos os direitos reservados.
É expressamente proibido a cópia, reprodução e difusão dos textos, fotos e outros elementos contidos neste site sem autorização expressa do MXStudio.