quarta-feira, 22 de fevereiro de 2012

Primeiro dia de estudo de PHP Orientado a Obejeto

Na primeira noite de estudo de PHPOO saiu esse script:

/*
* Início dos estudos sobre PHP e Orientação a Objetos
* @author Mizael Sales (MizaelASW)
* @copyright
* @version 1.0 (22/02/2012)
*/

class BancoDeDados {
/*
* Classe para interação com banco de dados
* @author Mizael Sales (MizaelASW)
* @copyright
* @version 1.0 (22/02/2012)
*/
/*
* Declaração das variáveis (propriedades) da classe
*/
private $host; // Host (Servidor) que executa o banco de dados
private $usuario; // Usuário que se conecta ao servidor de banco de dados
private $senha; // Senha do usuário para conexão ao banco de dados
private $db; // Nome do banco de dados a ser utilizado
private $sql; // String da consulta SQL a ser executada
function conectar(){
/*
* Função para conexão ao banco de dados
* @author Mizael Sales (MizaelASW)
* @return Object Retorna o objeto da conexão
*/
$con = mysql_connect($this->host,$this->usuario,$this->senha) or die ($this->erro(mysql_erro()));
return $con;
}
function selecionarDB(){
/*
* Função para seleção do banco de dados a ser usado
* @author Mizael Sales (MizaelASW)
* @return Boolean Retorna true (verdadeiro) ou false (falso)
*/
$sel = mysql_select_db($this->db) or die ($this->erro(mysql_erro()));
if($sel){
return true;
}else{
return false;
}
}
function query(){
/*
* Função para execução da consulta ao banco de dados
* @author Mizael Sales (MizaelASW)
* @return Object $qry Retorna o resultado da consulta como um objeto
*/
$qry = mysql_query($this->sql) or die ($this->erro(mysql_erro()));
return $qry;
}
function set($prop,$value){
/*
* Função para atribuir valores às propriedades da classe
* @author Mizael Sales (MizaelASW)
* @param String $prop Nome da propriedade que terá seu valor atribuído
* @param String, Array, Object Valor a ser atribuído
* @return void Não dá nenhum retorno
*/
$this->$prop = $value;
}
function getSQL(){
/*
* Função para retornar a string SQL
* @author Mizael Sales (MizaelASW)
* @return String String SQL
*/
return $this->sql;
}
function erro($erro){
/*
* Função para exibir os error
* @author Mizael Sales (MizaelASW)
* @param String $erro Erro a ser exibido
* @return void Não dá nenhum retorno
*/
echo $erro;
}
}

/*
* Testando a classe
*/

$obj = new BancoDeDados; // Instanciando a classe

// Atribuindo valores às propriedades da classe
$obj->set('db','PHPOO');
$obj->set('host','localhost');
$obj->set('usuario','root');
$obj->set('senha','');
$obj->set('sql','select * from aniversario');

$obj->conectar(); // Realiza a conexão
$obj->selecionarDB(); // Seleciona o banco de dados
$rs = $obj->query();

$sql = $obj->getSQL(); // Pega o valor da propriedade $sql
echo 'O numero de linhas encontrado para a consulta "'.$sql.'" e de '.mysql_num_rows($rs); // Exibe o número de linhas do resultado
?>

Nenhum comentário:

Postar um comentário