Archive for the ‘Uncategorized’ Category

easync PHP – um framework para manipulação de dados MySQL

agosto 19, 2011

O easync PHP é um framework desenvolvido por mim, Marcel, que gera classes em linguagem PHP, para facilitar a manipulação de dados em tabelas MySQL, criando uma camada de abstração, substituindo o código SQL que é preciso ser escrito sempre que se cria um novo banco de dados.

Em outras palavras, o easync PHP é uma abstração da camada de acesso a dados (DAL – Data Access Layer), que transforma tabelas em objetos PHP (Classes e funções), tornando o código mais limpo e organizado.

Exemplo:

A consulta SQL:

UPDATE cliente SET nome = ‘Jorge’ WHERE id = 2;

É escrita da seguinte forma:


<? 

$cliente EASYNC_cliente::getByPk('2');
$cliente->setNome('Jorge');
$cliente->save();

?>

As classes geradas utilizam o PHPdoc, para fazer uso do mecanismo auto-complete, disponível nos ambientes NetBeans IDE e Eclipse.

Veja mais exemplos abaixo:

Inserindo dados

<? 

$cliente = new EASYNC_cliente(); 
$cliente->setNome('Eduardo'); $cliente->setCPF('01234567890'); 
$cliente->setEmail('cliente@gmail.com'); 
$cliente->setEndereco('rua B casa 10'); 
$cliente->save();

?>

Consulta Executada:

INSERT INTO cliente
(id, nome, cpf, email, endereco)
VALUES
(NULL, ‘Eduardo’, ‘0234567890’, ‘cliente@gmail.com’, ‘rua B casa 10’);

Buscando dados

<?

$busca = new EASYNC__FIND__cliente();
$busca->filterByNome('Eduardo');
$busca->filterByEmail('cliente@gmail.com');
$busca->orderBy(ENTITY_cliente::$COLUMN_nome);
$busca->limit(100); // limitar 100 registros
$colecao $busca->get(); // coleção de objetos encontrados, do tipo 'EASYNC__COLLECTION__cliente'.
// imprime o nome de todos clientes encontrados:
for ($i 0$i $colecao->getAmount(); $i++) {
    
$nome $colecao->getByIndex($i)->getNome();
    echo 
"Cliente encontrado: " $nome;
}
?>

Consulta Executada:

SELECT id
FROM cliente
WHERE nome = ‘Eduardo’
AND email = ‘cliente@gmail.com’
ORDER BY nome
LIMIT 100;

Atualizando dados

<?
$cliente 
EASYNC_cliente::getByPk('2');
$cliente->setNome('Jorge');
$cliente->save();
?>

Consulta Executada:

UPDATE cliente SET nome = ‘Jorge’ WHERE id = 2;

Apagando dados

<?
$cliente 
EASYNC_cliente::getByPk('2');
$cliente->remove();
?>

Consulta Executada:

DELETE FROM cliente WHERE id = 2;

Download do easync PHP v1.0
formato RAR: http://code.google.com/p/easync-php/downloads/list
Subversion: https://easync-php.googlecode.com/svn/branches/