domingo, 14 de agosto de 2011

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

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

// 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;

Nenhum comentário:

Postar um comentário