Categorias

Criando e utilizando uma classe básica

Este artigo mostra bem claramente a construção de uma classe em PHP5, esta classe visa construir um componente txt para PHP5, lembre-se que esta é uma classe básica, que de início parece desnecessário construí-la, pois é bem mais fácil faze-lá diretamente em HTML, todavia esta classe servirá de base para classes mais complexas. O seja, não se preocupe com a utilidade da classe agora e sim no seu funcionamento.

Uma classe é algo simples, entenda melhor sobre Orientação a Objeto na sessão POO deste site, pois aqui já partiremos para a construção de uma classe em PHP5 pulando os conceitos básicos sobre o assunto.

Para começar crie duas pastas, uma na raíz do site com o nome "classes", esta pasta conterá todas as suas classes, é so por organização mesmo, mas faça, pois quanto mais organizado for, mais fácil será localizar as classes que criaremos, que não serão poucas.

Crie uma segunda pasta com o nome "html" dentro da pasta classes, dentro desta pasta colocaremos nossas classes básicas de html, não se preocupe, depois a gente vai entender melhor isso.

Pronto, com as pastas feitas, criaremos aqui uma página chamada classe_compTxt.php e salvaremos dentro da pasta /classes/html/.

E vamos ao código da página:

<?php

//Classe CompTxt – escreve texto em html.

// aqui nos começamos nossa classe
class compTxt{

/*Estes são os atributos da classe, notem que os atributos são precedidos da palavra "private", isto significa que esses atributos só serão acessados pela própria classe, ou seja, não será possível acessá-los de outro lugar a não ser esta classe, fique calmo você entenderá melhor mais adiante. */

private $face;
private $size;
private $color;
private $negrito;
private $texto;

/*Este Método é chamado de construtor, pois ele é executado quando se instancia esta classe, ou seja, podemos realizar várias ações quando a classe for instanciada, basta colocar os códigos aqui e pronto. */

public function compTxt(){

}

/* Aqui é que resolvemos o problema de se alcançar os atributos da classe, notem para se modificar o conteúdo dos atributos usa-se o método set, e para acessar o conteúdo usa-se o método get, então dessa forma só acessa-se os atributos da classe pela própria classe, os métodos get e set ficam disponíveis para todos, criando assim um acesso controlado aos atributos. */

public function set_face($Vface){
$this->face = $Vface;
}
public function get_face(){
return $this->face;
}

public function set_size($Vsize){
$this->size = $Vsize;
}
public function get_size(){
return $this->size;
}

public function set_color($Vcolor){
$this->color = $Vcolor;
}
public function get_color(){
return $this->color;
}

public function set_negrito($Vnegrito){
$this->negrito = $Vnegrito;
}
public function get_negrito(){
return $this->negrito;
}

public function set_texto($Vtexto){
$this->texto = $Vtexto;
}
public function get_texto(){
return $this->texto;
}

/* Este método é que realmente cria o html que nós queremos, e é muito simples mesmo, notem que o texto será formatado na criação. */

public function cria(){
echo "<font face=’$this->face’ size=’$this->size’ color=’$this->color’>";
if ($this->negrito == "true" or $this->negrito == "True"){
echo "<b>";
}
//escreve o texto
echo $this->texto;
if ($this->negrito){
echo "</b>";
}
echo "</font>";
}
}
?>

Pronto, nossa classe está pronta, agora nós criaremos uma instância desta classe, ou seja um objeto.

Na raíz do site crie agora uma página com o nome estudoTxt.php.

E vamos ao código:

<?php
//inclui a classe que criamos.
include_once("classes/html/classe_compTxt.php");
//instanciaremos nosso objeto
$txt = new compTxt();

//vamos setar os atributos do objeto
$txt->set_face("verdana");
$txt->set_size("2");
$txt->set_color("Blue");
$txt->set_negrito(true);
$txt->set_face("Minha primeira classe básica em php5");
// agora vamos criar o texto
$txt->cria();
?>

Está pronto, notem que foi bem mais trabalhoso do que criar o html, mas notem também que nosso objeto nos permitiu construir um texto em html sem escrever nada em html e nem intercalar código html com php, ficou apenas o código em php. Mais pra frente essa classe será muito importante para criação de classe bem mais complexas.

Bem, continuaremos falando sobre isso depois, quando acabarmos esse estudo você será capaz de construir páginas muito complexas com o uso de Orientação a Objeto, ficando assim muito simples e rápido, acredite!