Desenvolvimento - PHP
PHP: Aprenda um pouco sobre Classes e Objetos
Artigo de simples entendimento para programadores PHP iniciantes e intermediários.
por Newton PasqualiniGostaria de agradecer os elogios e críticas feitas em meu artigo anterior “mysql: Paginação de registros” (http://www.linhadecodigo.com.br/artigos.asp?id_ac=375&sub=46) e mandar um abraço ao pessoal que entrou em contato comigo pelo e-mail/MSN webmaster@softwebsite.net para tirar suas dúvidas.
Introdução
De forma simples vamos responder as seguintes questões:
O que é uma
classe?
Uma classe é um conjunto de
funções.
O que é um
objeto?
Um objeto é o que retorna de uma
classe.
Classes são úteis no meu site? Por que?
Sim. Supondo que você tem um site grande e tem 3000 páginas e agora você precisa mudar o layout (cara, formato, estilo, etc..) do seu site, imagine você tendo de abrir os 3000 arquivos e altera-los um a um, vai dar trabalho!
Neste caso, você poderia criar 1 arquivo com uma classe servindo de template, você desenvolve funções distintas para formar os objetos (menu, barra superior, conteúdo, estilo CSS, etc...) no site.
Isso com certeza irá facilitar, e muito, você a fazer esse trabalho arduo, sem contar na otimização do espaço em disco, uma vez que boa parte de todo o conteúdo do seu site está em 1 arquivo só.
Classes podem ser usadas em vários outros momentos onde você tenha a necessidade de criar algo, a ser alterado modificando um arquivo ou modificando uma variável.
Vamos entender mais disso na prática!
Criando
Vamos criar uma classe chamada de “template”:
classe.php
<?
class template
{
}
?>
Pronto, acima nós criamos uma classe chamada “template”, agora vamos criar a função que vai gerar o menu dentro da classe template a partir de um Array, observe que antes temos de definir, no início da classe, quais variáveis usaremos nas funções:
classe.php
<?
class
template {
var $opcoes;
var
$categoria;
function menu($opcoes, $categoria = null){
$this->array_menu = $opcoes["principal"];
// Qndo usamos $this fazemos com que
// esta variável seja exclusivamente desta função da
classe.
// $this->array_menu é uma variável, escrita
diferentemente,
// podemos setar
variáveis de classe assim também: $array_menu.
while (list($chave, $valor)=each($this->array_menu))
{
$this->menu .= "<a
href="?categoria="".$chave."">".$valor."</a><br>"."\n";
}
// Cria o menu a partir da categoria setada.
return $this->menu;
// Retorna o menu como objeto da classe
“template”.
}
}
// Aqui terminei a
classe
// Chamando a classe
$classe_template = new
template();
// Vamos definir as variáveis para o objeto
$array_opcoes["principal"][0] = "Op. 1";
$array_opcoes["principal"][1] = "Op. 2";
$array_opcoes["principal"][2]
= "Op. 3";
// Mostrando o objeto
echo
$classe_template->menu($array_opcoes,
$_GET["categoria"]);
if (!$_GET["categoria"]){
echo "Você não selecionou nenhuma
categoria.";
} else {
$cat = $array_opcoes[$_GET[categoria]];
echo "Você está na categoria: $cat";
}
?>
Espero que tenham gostado e aprendido ao menos um pouco sobre isso.
Classes e Objetos é um assunto extremamente profundo, pratiquem o que aprenderam, no próximo artigo vou falar um pouco sobre classes extendidas ou sub-classes.
Continuo à disposição pelo e-mail/MSN webmaster@softwebsite.net para tirar dúvidas.
Um grande abraço.