Curso Criando um Site do Zero - Aula 15 - Cadastro de Clientes II
31/08/2016Continuando nosso aprendizado sobre cadastro de clientes, faremos nessa aula a construção do banco de dados (wef_db) e dentro deste banco de dados criaremos a tabela clientes. Faremos também nossa classe abstrata para a conexão com o banco de dados.
Para a criação do banco de dados, primeiramente acessaremos nossa ferramenta de gerenciamento de dados, no caso utilizei o PHPMYADMIN. Criaremos como exemplo o banco de dados wef_db. Podemos utilizar a interface gráfica do PHPMYADMIN (como explicado na vídeo-aula) ou utilizar o código SQL, conforme demonstrado abaixo:
CREATE DATABASE wef_db
Posteriormente criaremos nossa tabela clientes:
CREATE TABLE `clientes` (
`Id` int(11) NOT NULL,
`CodInterno` varchar(30) NOT NULL,
`CodEstrangeiro` varchar(30) NOT NULL,
`Nome` varchar(90) NOT NULL,
`Email` varchar(90) NOT NULL,
`Telefone` varchar(30) NOT NULL,
`Idade` varchar(5) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Finalizado a parte de construção do nosso data base, faremos a classe abstrata responsável por realizar a conexão do PHP com o MySql.
Para tanto criaremos um arquivo ClassConexao.php dentro da pasta models do nosso projeto.
Nossa classe ficará da seguinte maneira:
abstract class ClassConexao{
public function Conectar(){
try{
$Pdo=new PDO("mysql:host=localhost;dbname=wef_db","root","");
return $Pdo;
}catch (PDOException $Erro){
return $Erro->getMessage();
}
}
}
No código acima, realizamos a tentativa de conexão (try), caso ela não seja realizada capturamos a mensagem de erro (catch).
Utilizamos a classe abstract para reforçarmos a segurança do nosso projeto, visto que esse tipo de classe não pode ser instanciada, apenas extendida.
Por fim criamos uma classe de teste de conexão (opcional) para verificar se a conexão está se realizando corretamente. Criamos um arquivo inserir.php dentro de views e criamos uma ClassTeste para realizar um var_dump da nossa conexão.
require_once("../models/ClassConexao.php");
class ClassTeste extends ClassConexao{
public function __construct(){
var_dump($this->Conectar());
}
}
$ObjTeste=new ClassTeste();
Na próxima aula realizaremos a inserção no db. Até lá!