Na primeira matéria a respeito, tivemos uma visão geral do que são classes PHP e como usá-las, de uma forma básica. Nessa parte vamos começar a criar uma classe para gerenciamento de banco-de-dados mysql. Escolhi esse tipo de classe por ser muito buscado e já existir muitos bons exemplos. Então…. mão na massa!
O ideal é que você tenha um arquivo PHP onde estará essa classe, e quando quiser usar basta “chamar” este aquivo através do comando include ou require…
No seu arquivo PHP vamos iniciar a criação da classe já com algumas propriedades e métodos:
class bancodedados{
//declaracao das variaveis a serem usadas por toda a classe (as propriedades)
var $host;
var $usuario;
var $senha;
var $base;
//declaracao dos metodos mais basicos em termos de banco-de-dados: conectar, executar uma query e desconectar
function conecta($host, $usuario, $senha, $base){
if(mysql_connect($host, $usuario, $senha)){
mysql_connect_db($base);
}
}
function query($query){
mysql_query($query);
}
function desconectar(){
mysql_close();
}
}
Pronto, nesse momento você já tem uma classe. Uma classe muito muito muito básica, mas é uma classe…. :-)
Para usar esta classe, que desse jeito que está já te ajuda bastante no desenvolvimento (Pô, vc não precisa mais escrever mysql_connect …), basta instanciá-la, como descrito na matéria anterior:
$bancodados = new bancodedados();
Agora a variavel $bancodados é um objeto capaz de fazer algumas atividades de forma fácil:
//conectar-se a base de dados
$bancodados->conecta('local_base_de_dados.com', 'usuario', 'senha', 'nome_banco_de_dados');
//fazer uma consulta
$dados = $bancodados->query('select * from tabela');
Mas… você acha que da forma que está vai dar certo?
Bom, pode até ser que dê, e assim vc não precise mais ficar reescrevendo coisas como mysql_query(…), mas mesmo assim essa classe ainda está pobre demais! com tantos comandos php para banco de dados, nós nos limitaremos a esses tres comandos mal escritos? notou que não há como saber se um método (função, comando) deu certo? Até poderíamos fazer algo do tipo:
if($bancodados->conecta( ... ){
$dados = $bancodados->query(...);
}
Mas mesmo assim a classe, apesar de útil, continua pobre de recursos…
E é isso que vamos estudar na próxima etapa de nossa jornada!
Vamos implementar mais recursos que o php dispõe para orientação a objetos. Com isso nossa classe ficará melhor e nós nos aprofundaremos mais em conceitos como abstração, encapsulamento, polimorfismo e herança.
Até breve. :-)







No comments yet.