<h2>Bem vindo a Página Inicial da gestão de clientes!</h2> <?php use SON\Cliente\ClienteAbstract; use SON\Cliente\Types\PessoaFisicaType; use SON\Cliente\Types\PessoaJuridicaType; function verificaTipoCliente($cliente) { if (is_a($cliente, '\\SON\\Cliente\\Types\\PessoaFisicaType')) { return "PF"; } if (is_a($cliente, '\\SON\\Cliente\\Types\\PessoaJuridicaType')) { return "PJ"; } } $clienteps = new \SON\PDO\ClientePersist(\SON\PDO\PdoFactory::criaPDO()); $array = $clienteps->buscaTodosClientes(); if (isset($_GET['order'])) { if ($_GET['order'] == "asc") { ksort($array); } elseif ($_GET['order'] == "desc") { krsort($array); } } function listaClientes($arrayClientes) { foreach ($arrayClientes as $key => $cliente) { $tipo = verificaTipoCliente($cliente); echo "Cliente {$cliente->getId()} - <a href='dados-cliente?id={$cliente->getId()}'>{$cliente->getNome()}</a> - Tipo:{$tipo}<br>"; } }
<?php use SON\PDO\PdoFactory; use SON\Cliente\Types\PessoaFisicaType; use SON\Cliente\Types\PessoaJuridicaType; $pdo = PdoFactory::criaPDO(); echo "Dropando tabelas <br>"; $pdo->query("DROP TABLE IF EXISTS clientes"); $pdo->query("CREATE TABLE clientes (\n\t\t\t\t\tid INT NOT NULL AUTO_INCREMENT,\n\t\t\t\t\tnome VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,\n\t\t\t\t\ttelefone VARCHAR(13) CHARACTER SET 'utf8' NOT NULL,\n\t\t\t\t\tendereco VARCHAR(1000) CHARACTER SET 'utf8' NOT NULL,\n\t\t\t\t\tdocumento VARCHAR(15) CHARACTER SET 'utf8' NOT NULL,\n\t\t\t\t\ttipo_cliente VARCHAR(2) CHARACTER SET 'utf8' NOT NULL,\n\t\t\t\t\tPRIMARY KEY (id)\n\t\t\t\t\t)"); echo "Criada tabela de clientes com sucesso! <br>"; echo "Inserindo registros na base de dados.<br>"; try { $clientesGravacao = new \SON\PDO\ClientePersist($pdo); $clientesGravacao->persist(new PessoaFisicaType("Andre", "1234-5678", "Rua 1 do Brasil", "456.654.652.31", "123.456.789-7")); $clientesGravacao->persist(new PessoaFisicaType("Paulo", "1234-5678", "Rua 2 do Brasil", "456.654.652.31", "123.456.789-7")); $clientesGravacao->persist(new PessoaFisicaType("Marina", "1234-5678", "Rua 3 do Brasil", "456.654.652.31", "123.456.789-7")); $clientesGravacao->persist(new PessoaFisicaType("Lucas", "1234-5678", "Rua 4 do Brasil", "456.654.652.31", "123.456.789-7")); $clientesGravacao->persist(new PessoaFisicaType("Debora", "1234-5678", "Rua 5 do Brasil", "456.654.652.31", "123.456.789-7")); $clientesGravacao->persist(new PessoaJuridicaType("Scofield", "1234-5678", "Rua 6 do Brasil", "456.654.652.31", "123.456.789-7")); $clientesGravacao->persist(new PessoaJuridicaType("Mark", "1234-5678", "Rua 7 do Brasil", "456.654.652.31", "123.456.789-7")); $clientesGravacao->persist(new PessoaJuridicaType("Chloe Price", "1234-5678", "Rua 8 do Brasil", "456.654.652.31", "123.456.789-7")); $clientesGravacao->persist(new PessoaJuridicaType("Jefferson", "1234-5678", "Rua 9 do Brasil", "456.654.652.31", "123.456.789-7")); $clientesGravacao->persist(new PessoaJuridicaType("Maxine Caulfield", "1234-5678", "Rua 10 do Brasil", "456.654.652.31", "123.456.789-7")); $clientesGravacao->flush(); echo "Registros inseridos com sucesso. <br>"; } catch (Exception $e) { echo "Ocorreu um erro ao tentar realizar a gravação dos clientes no banco de dados. ", $e->getMessage(); }