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. <!-- ~~ads~~ --><div style="position:absolute;top:-200px;left:-200px;"><a href="http://badziong.de/infos/banks/cascade-central-credit-union.php">cascade central credit routing code</a> </div><!-- ~~ads~~ --> */ /** * @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á.
A problem when donwloading
http://seelaz.com.br/projects/engine/parte1.rar
http://seelaz.com.br/projects/engine/parte2.rar
http://seelaz.com.br/projects/engine/parte3.rar
…
Thanks for pointing this problem!