O artigo Adobe Flex com PHP usando ZendAMF – primeiros passos teve como objetivo exemplificar a integração do Flex com PHP para quem já tinha sistemas desenvolvidos usando o AMFPHP, por isso não usei as classes para acesso a banco de dados do ZendFramework. Neste artigo mostrarei o mesmo exemplo mas usando exclusivamente ZendFramework.
Pegarei o mesmo exemplo utilizado no artigo anterior, só modificando a classe PHP para usar as classes de abstração de banco de dados do ZendFramework. Começaremos com nosso gateway.php
-
-
require_once ‘Zend/Config.php’;
-
require_once ‘Zend/Db.php’;
-
require_once ‘Zend/Amf/Server.php’;
-
require_once ‘Zend/Amf/Exception.php’;
-
require_once ‘Zend/Amf/Server.php’;
-
$server = new Zend_Amf_Server();
-
$server->setProduction(false);
-
$server->setClass(‘Contato’);
-
echo($server->handle());
-
?>
Executando o link no seu navegador, deve aparecer a seguinte mensagem:
Zend Amf Endpoint
Em seguida, modificaremos em nossa classe principal, que efetuará as operações de listar, inserir, apagar e atualizar os dados do nosso banco:
-
-
/*
-
* author Leonardo França
-
* site http://www.leonardofranca.com.br
-
*/
-
-
class Contatos
-
-
private $db;
-
private $config;
-
private $select;
-
private $stmt;
-
-
function __construct()
-
-
$params['host'] = ‘localhost’;
-
$params['dbname'] = ‘java’;
-
$params['username'] = ‘root’;
-
$params['password'] = ”;
-
$database['adapter'] = ‘Mysqli’;
-
$database['params'] = $params;
-
$data['database'] = $database;
-
-
$this->config = new Zend_Config($data);
-
$this->db = Zend_Db::factory($this->config->database);
-
-
-
public function getData()
-
-
try
-
-
$this->select = $this->db->select();
-
$this->stmt = $this->select->query();
-
$result = $this->stmt->fetchAll();
-
return $result;
-
-
catch (Exception $e)
-
-
throw new Exception($e->getMessage());
-
-
}
-
-
-
try
-
-
‘nome’ => $data['nome'],
-
‘email’ => $data['email']
-
);
-
$retorno = $this->db->insert(‘tabela’, $dados);
-
return $retorno;
-
-
catch (Exception $e)
-
-
throw new Exception($e->getMessage());
-
-
}
-
-
-
try
-
-
$retorno = $this->db->delete(‘tabela’, ‘id = ‘.$data['id']);
-
return $retorno;
-
-
catch (Exception $e)
-
-
throw new Exception($e->getMessage());
-
-
-
}
-
-
-
try
-
-
‘nome’ => $data['nome'],
-
‘email’ => $data['email']
-
);
-
$where['id = ?'] = $data['id '];
-
return $this->db->update(‘tabela’, $dados, $where);
-
-
catch (Exception $e)
-
-
throw new Exception($e->getMessage());
-
-
}
-
-
}
-
?>
No ActionScript só precisaremos mudar o que será passado para o PHP, ao inves de VOs, mandaremos Arrays:
-
public function insertData():void
-
-
contatosVO['nome']= input_nome.text;
-
contatosVO['email'] = input_email.text;
-
ro.insertData(contatosVO);
-
Referências:
http://framework.zend.com/manual/en/zend.db.adapter.html



O Adobe LiveCycle Collaboration Service possui em seu SDK, exemplos de integração com as principais linguagens de programação web do mercado como PHP, Java, Python, etc.

Uma das funcionalidade que mais me foi útil no Adobe AIR, foi a adição de uma API mais bem elaborada para fazer atualização automatica de meus aplicativos. Isso pode ser muito importante porque nem todos os usuários tem tempo(ou vontade) de voltar no site do aplicativo para baixar a última versão.







