PHP – Trabalhando com Classes – Parte 2

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. :-)

1322
Thanks!
An error occurred!

About Marcus

Trabalha e se diverte com informática desde que a "barreira dos 100Mhz" foi rompida. Atualmente é desenvolvedor e continua levando seus trabalhos e projetos adiante, enquanto o tempo permitir.

,

No comments yet.

Deixe uma resposta