public static function setConnection(PDO $conn) { self::$conn = $conn; }
$conn = new PDO('sqlite:database/estoque.db'); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); ProdutoGateway::setConnection($conn); $produtos = ProdutoGateway::all(); foreach ($produtos as $produto) { $produto->delete(); } $p1 = new ProdutoGateway(); $p1->descricao = 'Vinho Brasileiro Tinto Merlot'; $p1->estoque = 10; $p1->preco_custo = 12; $p1->preco_venda = 18; $p1->codigo_barras = '13523253235234'; $p1->data_cadastro = date('Y-m-d'); $p1->origem = 'N'; $p1->save(); $p2 = new ProdutoGateway(); $p2->descricao = 'Vinho Importado Tinto Carmenere'; $p2->estoque = 10; $p2->preco_custo = 18; $p2->preco_venda = 29; $p2->codigo_barras = '13523253235234'; $p2->data_cadastro = date('Y-m-d'); $p2->origem = 'I'; $p2->save(); $produto = ProdutoGateway::find(1); $produto->estoque += 2; $produto->save(); } catch (Exception $e) { print $e->getMessage(); }
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); // executa consulta SQL $result = $conn->query($sql); $data = $result->fetch(PDO::FETCH_ASSOC); unset($conn); return $data; } } class Produto { public $id; public $descricao; public $estoque; public $preco_custo; } // instancia objeto ProdutoGateway $gateway = new ProdutoGateway(); $vinho = new Produto(); $vinho->id = 4; $vinho->descricao = 'Vinho'; $vinho->estoque = 10; $vinho->preco_custo = 15; // insere o objeto no banco de dados $gateway->insert($vinho); // exibe o objeto de código 4 print_r($gateway->getObject(4)); $vinho->descricao = 'Vinho Cabernet'; // atualiza o objeto no banco de dados $gateway->update($vinho); // exibe o objeto de código 4 print_r($gateway->getObject(4));
echo $sql . "<br>\n"; // instancia objeto PDO $conn = new PDO('sqlite:produtos.db'); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); // executa consulta SQL $result = $conn->query($sql); $this->data = $result->fetch(PDO::FETCH_ASSOC); unset($conn); } } // insere produtos na base de dados $vinho = new ProdutoGateway(); $vinho->id = 5; $vinho->descricao = 'Vinho Cabernet'; $vinho->estoque = 10; $vinho->preco_custo = 10; $vinho->insert(); $salame = new ProdutoGateway(); $salame->id = 6; $salame->descricao = 'Salame'; $salame->estoque = 20; $salame->preco_custo = 20; $salame->insert(); // recupera um objeto e realiza alteração $objeto = new ProdutoGateway(); $objeto->getObject(6); $objeto->estoque = $objeto->estoque * 2; $objeto->descricao = 'Salaminho Italiano'; $objeto->update(); // exclui o produto vinho da tabela $vinho->delete();
* método getObjects * lista todos registros da tabela de produtos */ function getObjects() { // cria instrução SQL de SELECT $sql = "SELECT * FROM produtos"; // instancia objeto PDO $conn = new PDO('sqlite:produtos.db'); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); // executa a consulta SQL $result = $conn->query($sql); $data = $result->fetchAll(PDO::FETCH_ASSOC); unset($conn); return $data; } } // instancia objeto ProdutoGateway $gateway = new ProdutoGateway(); // insere alguns registros na tabela $gateway->insert(1, 'Vinho', 10, 10); $gateway->insert(2, 'Salame', 20, 20); $gateway->insert(3, 'Queijo', 30, 30); // efetua algumas alterações $gateway->update(1, 'Vinho', 20, 20); $gateway->update(2, 'Salame', 40, 40); // exclui o produto 3 $gateway->delete(3); // exibe novamente os registros echo "Lista de Produtos<br>\n"; print_r($gateway->getObjects());
public function save() { $gw = new ProdutoGateway(); return $gw->save((object) $this->data); }
$data1->descricao = 'Vinho Brasileiro Tinto Merlot'; $data1->estoque = 10; $data1->preco_custo = 12; $data1->preco_venda = 18; $data1->codigo_barras = '13523253235234'; $data1->data_cadastro = date('Y-m-d'); $data1->origem = 'N'; $data2 = new stdClass(); $data2->descricao = 'Vinho Importado Tinto Carmenere'; $data2->estoque = 10; $data2->preco_custo = 18; $data2->preco_venda = 29; $data2->codigo_barras = '73450345423523'; $data2->data_cadastro = date('Y-m-d'); $data2->origem = 'I'; try { $conn = new PDO('sqlite:database/estoque.db'); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); ProdutoGateway::setConnection($conn); $gw = new ProdutoGateway(); $gw->save($data1); $gw->save($data2); $produto = $gw->find(1); $produto->estoque += 2; $gw->save($produto); foreach ($gw->all("estoque<=10") as $produto) { print $produto->descricao . "<br>\n"; } } catch (Exception $e) { print $e->getMessage(); }