<< Click to Display Table of Contents >> Exemplo.php |
![]() ![]() ![]() |
<?php
namespace persistencia;
require __DIR__ . "/persistencia/Conexao.php";
require __DIR__ . "/persistencia/DAL.php";
require __DIR__ . "/persistencia/Filtro.php";
require __DIR__ . "/persistencia/Filtros.php";
require __DIR__ . "/modelo/Pessoa.php";
use persistencia\Filtro;
use persistencia\Filtros;
use persistencia\DAL;
use modelo\Pessoa;
/**
* Esse classe é só para demonstrar, não a use no sistema
*/
class Exemplo {
private function Inserir() {
$p = new Pessoa();
$p->nome = "Maria Helena";
$p->email = "joao@gmail.com";
$p->limite = 99.91;
$p->sexo = "F";
$p->endereco = "Rua dos Coqueiros";
$p->nascimento = date("Y-m-d");
$id = DAL::Gravar($p);
echo "ID: {$id}<br/>";
}
private function getObjeto() {
/** @var Pessoa $x */
$x = DAL::GetObjectById(new Pessoa(), 1);
if ($x) {
echo $x->nome;
$x->limite = 11.9;
echo DAL::Gravar($x);
} else {
echo "não encontrei";
}
}
private function listar() {
/** @var Pessoa[] $lista */
$lista = DAL::GetListObjects(new Pessoa(), null, "nome");
var_dump($lista);
}
private function gravarVariosNumaTransacao() {
$p = new Pessoa();
$p->nome = "Blaze";
$p->email = "joao@gmail.com";
$p->limite = 99.91;
$p->sexo = "F";
$p->nascimento = date("Y-m-d");
$p2 = new Pessoa();
$p2->nome = "Samus Aran";
$p2->email = "joao@gmail.com";
$p2->limite = 99.91;
$p2->sexo = "F";
$p2->nascimento = date("Y-m-d");
$p3 = new Pessoa();
$p3->nome = "Cherry";
$p3->email = "joao@gmail.com";
$p3->limite = 99.91;
$p3->sexo = "F";
$p3->nascimento = date("Y-m-d");
$lista = array($p, $p2, $p3);
$qtd = DAL::GravarList($lista);
echo "QTD INSERIDO: " . $qtd;
}
private function excluir() {
DAL::Excluir(new Pessoa(), 7);
}
private function listarFromSQL() {
$lista = DAL::getListFromSQL("select nome, limite from tb_pessoa order by nome desc");
var_dump($lista);
}
private function filtroSimples() {
$d = date("Y-m-d");
$f = new Filtro();
// varios tipos
$f->addContem("nome", "maria");
$f->addIniciaCom("nome", "maria");
$f->addTerminaCom("nome", "maria");
$f->addDiferente("campo", null);
$f->add("sexo", "M");
$f->add("id_pessoa", 25);
$f->add("nascimento", $d);
$f->add("limite", 123456789.01);
$f->addLiteral("nascimento", "CURRENT_DATE");
echo $f;
}
private function filtroComposto() {
// filtro 1
$f1 = new Filtro();
$f1->addContem("nome", "souza");
$f1->add("sexo", "M");
// data
$d = date("Y-m-d", strtotime("1977-07-02"));
// filtro 2 (com junção OR)
$f2 = new Filtro(true);
$f2->addMenorIgualQue("nascimento", $d);
$f2->addMaiorQue("limite", 999.89);
// juntador de filtros
$filtros = new Filtros();
$filtros->add($f1);
$filtros->add($f2);
echo $filtros;
}
private function usandoFiltorComDAL() {
$f = new Filtro();
$f->addContem("nome", "k");
/** @var Pessoa[] $lista */
$lista = DAL::GetListObjects(new Pessoa(), $f);
var_dump($lista);
}
}