Exemplo.php

<< Click to Display Table of Contents >>

Navigation:  Outros > CRUD com persistencia Orientada Objeto > persistencia >

Exemplo.php

Previous pageReturn to chapter overviewNext page

<?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);
    }
 
}