PHP5 - Criando e utilizando uma classe básica

Esse artigo nos mostra como criar classes básicas em PHP5. Após a conclusão desse estudo você será capaz de criar páginas em PHP sem escrever nenhuma tag HTML.

[ Hits: 30.542 ]

Por: isaac guerra em 24/02/2005


Introdução



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!

Falou, galera!

Isaac Guerra
www.isaacguerra.net

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

MVC - Conceito e exemplo em PHP

Ato 2 - comandos de saída, constantes e operadores em PHP (básico)

PRADO - PHP 5 Framework

Tratamento de exceções do PHP: uma introdução para iniciantes

Renascendo na Programação

  
Comentários
[1] Comentário enviado por redstyle em 24/02/2005 - 20:14h

OOP é muito bom, o código fica bem mais organizado.

Parabéns pelo artigo.

PS : Acho que tem um erro de digitação aqui,
$txt->set_color("Blue");
$txt->set_negrito(true);
//não seria set_texto ??????
$txt->set_face("Minha primeira classe básica em php5");
// agora vamos criar o texto
$txt->cria();

Este artigo vai ter continuação?

[]'s

[2] Comentário enviado por rickobranco em 23/01/2007 - 14:29h

O meu seu um erro na hora que tentei executar, de uma olhada.

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in C:\Arquivos de programas\Apache Group\Apache2\htdocs\aula.classe\classes\html\classe_compTxt.php on line 12

não sei o que pode ser pois estou tentando aprender classes em PHP, e não sei nada ainda.

[3] Comentário enviado por rickobranco em 23/01/2007 - 15:40h

Alguem sabe onde posso encontrar material para aprender classe e objeto com PHP.
Obrigado

[4] Comentário enviado por allanaguiar em 12/03/2007 - 15:22h

redstyle,

no lugar de $txt->set_face, lê-se $txt->set_texto.

Sem mais,
Allan Aguiar.

[5] Comentário enviado por allanaguiar em 12/03/2007 - 15:22h

Rickobranco,

Qual a versão do seu PHP?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts