Usando o Engine.DB – Parte 1
Dando inicio a uma seção de tutoriais simples vamos aprender como Gravar, Carregar e Excluir um objeto simples do banco de dados.
Nossa entidade consistirá em um objeto PessoaFisica.

Importante salientar que o objeto deve ser criado com acessors (getters/setters) definidos.
O código seria mais ou menos esse:
<?PHP
<?php
/**
* Engine PHP Application Framework
* http://seelaz.com.br
* File: PessoaFisica.php
**/
/**
* @author Silas R. N. Junior
*/
class PessoaFisica {
/**
* Observe que o nome da classe devera ser identico ao da tabela ou entao
* será preciso definir o nome da tabela com @Table(name="<nome_da_tabela>")
* O mesmo se aplica aos nomes das colunas que utilizam a anotacao @Column(name="<nome_da_coluna>")
* A definição do tipo da propriedade utilizando @var é levada em consideração pelo Engine. Se omitido
* será considerado o tipo string.
*/
/**
* @var int
* @Id - define como chave primaria esta propriedade
*/
private $id;
/**
* @var string
*/
private $rg;
/**
* @return int
*/
public function getId() {
return $this->id;
}
/**
* @param int $newId
* @return void
*/
public function setId($newId) {
$this->id = $newId;
}
/**
* @return string
*/
public function getRg() {
return $this->rg;
}
/**
* @param string $newRg
* @return void
*/
public function setRg($newRg) {
$this->rg = $newRg;
}
}
?>
Criando a base de dados.
MySQL
CREATE TABLE IF NOT EXISTS `PessoaFisica` ( `id` int(11) NOT NULL auto_increment, `rg` varchar(7) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;
PostgreSQL
CREATE TABLE "PessoaFisica" ( id serial NOT NULL, rg character varying(7), CONSTRAINT pk_pessoafisica PRIMARY KEY (id) ) WITH (OIDS=TRUE);
E agora ao código em si:
require_once("lib/engine/engine.db.php");
//Exemplos de como se criar o driver
//$driver = DbDriverFactory::getDriver(DbDriver::MYSQL);
//$driver = DbDriverFactory::getDriver(DbDriver::PGSQL);
//Para nosso tutorial utilizaremos o MySQL, portanto:
$driver = DbDriverFactory::getDriver(DbDriver::MYSQL);
$driver->configure('<host>','<base_de_dados_ou_schema>','user','pass');
//Criar o DAO
$dao = new DAO($driver);
//Intanciar nossa Entidade
$pFisica = new PessoaFisica();
$pFisica ->setRg('1111');
//Gravar
$dao->save($pFisica);
//O id é setado automaticamente apos a inserção. Vamos gurdá-lo para carregar a entidade.
$id = $pFisica->getId();
unset($pFisica);
// Criar uma outra instancia da classe.
$pFisica2 = new PessoaFisica();
// Definir o Id que corresponde a entidade no banco
$pFisica2->setId($id);
//Carregar os dados
$dao->load($pFisica2);
//Confirmar:
echo $pFisica2->getRg();
//Modificar no banco:
$pFisica2->setRg('2222');
//Gravar
$dao->save($pFisica2);
//Agora para excluir a entidade
$dao->delete($pFisica2);
Essas sao as operações básicas do engine.db em um objeto simples. No proximo artigo vamos complicar um pouco mais. Até lá.