-4

PHP5 ORIENTADO A OBJETO - PARTE II

criado por isaac guerra em 24/02/2005 10:05pm
PHP5 ORIENTADO A OBJETO - PARTE II

Este artigo é uma continuação, por isso é racionalmente necessário ler a PHP5 ORIENTADO A OBJETO - PARTE I

Esta classe também é uma classe básica, ou seja ela por si só não vai parecer muita vantagem em contruí-la, pois fica bem mais facil ir direto ao html e faze-lo, todavia estas classes servirão de base para classes maiores, é verdade, é assim que acontece o Orientação a Objetos, voce cria classes básicas para depois criar coisas mais complexas, juntado as básicas, vai ser legal.

Vamos lá, crie uma arquivo chamado classe_compImg.php e salve dentro de /classes/html/ .

E la vai o código:

<?php
//Aqui começa nossa classe
class compImg{

    // Aqui ficam os atributos da classe, todos privados
    private $src;
    private $alt;
    private $width;
    private $height;
    private $hspace;
    private $vspace;
    private $align;
    private $border;

    // Aqui ficam os métodos get e set de todos os atributos 
    public function set_src($Vsrc)
    {
        $this->src = $Vsrc;
    }
  
    public function get_src()
    {
        return $this->src;
    }
 
    public function set_alt($Valt)
    {
        $this->alt = $Valt;
    }
  
    public function get_alt()
    {
        return $this->alt;
    }
 
    public function set_width($Vwidth)
    {
        $this->width = $Vwidth;
    }
  
    public function get_width()
    {
        return $this->width;
    }
 
    public function set_height($Vheight)
    {
        $this->height = $Vheight;
    }
  
    public function get_height()
    {
        return $this->height;
    }
 
    public function set_hspace($Vhspace)
    {
        $this->hspace = $Vhspace;
    }
  
    public function get_hspace()
    {
        return $this->hspace;
    }
 
    public function set_vspace($Vvspace)
    {
        $this->vspace = $Vvspace;
    }

    public function get_vspace()
    {
        return $this->vspace;
    }
 
    public function set_align($Valign)
    {
        $this->align = $Valign;
    }
  
    public function get_align()
    {
        return $this->align;
    }
 
    public function set_border($Vborder)
    {
        $this->border = $Vborder;
    }
  
    public function get_align()
    {
        return $this->align;
    }
 
    // função de criação docódigo html da imagem
    public function criaImg()
    {
        echo "<IMG src='$this->src' alt='$this->alt' width='$this->width' height='$this->height' hspace='$this->hspace' vspace='$this->vspace' align='$this->align' border='$this->border'>";
    }
}
?>

Pronto nossa classe esta pronta, agora nós criaremos uma instancia desta classe, ou seja um objeto.

Na raiz do site cria agora uma pagina com o nome estudoImg.php

E vamos ao código:
<?php
// inclui a classe que criamos.
include_once("classes/html/classe_compImg.php");
// instanciaremos nosso objeto
$img = new compImg();

// vamos setar os atributos do objeto
$img->set_src("http://static.php.net/www.php.net/images/php.gif");
 
// agora vamos criar a Imagem
$img->criaImg();
?>

O mais importante é que nós criamos a tag img sem necessitar escrever o html, notem que mais uma vez escrevemos apenas codigo php, pois la na classe nós criamos o html.
Vejam também que eu só configurei o atributo src do objeto, mais eu poderia alterar qualquer atributo do objeto img, mais para frente usaremos esta classe para criarmos uma classe thumbnails, ou aquela imagens pequenas de apresentação da imagem real e também usaremos essa classe básica para colocar imagens em nossas páginas.

Ao fim das classes básicas voce será capaz de criar paginas inteiras sem escrever nenhuma tag em html, é verdade, so com php, e pronto.

Calma ainda falta cria algumas classes básicas, é eu sei é meio chato, mais o resultado é bom, depois a gente continua, valeu.


Isaac Guerra
www.isaacguerra.net

Comentários:

Mostrando 1 - 10 de 10 comentários
Olá, boa tarde,

Mais uma vez o seu html gerado pela classe está errado

Não se deve fazer assim
<IMG ....>
O correcto é:
<img ........ />
<img />
Para que tenha abertura e fechamento da tag correctamente
assim como não se deve escrever:
<p>Paragrafo
o correcto é
<p>Paragrafo</p>

Um abraço de Portugal
César Oliveira
http://www.profissionalweb.net/sondagens/
30/09/2008 8:30am (~15 anos atrás)

Horrivel !!!!!!!!!!!!!!!!!

Me desculpe Isaac, + a sua materia esta muito ruim Kra, na Parte I eu até havia te defendido com o proposito de haver alguma evolucao nos outros posts, + a Parte II foi um verdadeiro caos !!!!!!!!!!!
16/10/2006 8:59am (~17 anos atrás)

A intenção foi legal!! Mas ocorre que tá faltando abordar muitas coisas pow! Como disse Gustavo Dutra acima: "assim parece que o php não evoluiu".
09/07/2005 4:54pm (~19 anos atrás)

Eristhon disse:
Creio que a intenção do tutorial foi boa, mas com toda a certeza a OO no php5 está bem completa ao modelo proposto em relação à versão 4.
Acho que o título do tutorial gerou uma expectativa que não foi atingida ao ler o mesmo, mas vale a pena dar uma olhada na documentação do php sobre o assunto e o site mundoo, que embora seja voltado ao desenvolvimento java tem vários artigos que enfocam muito bem a orientação a objetos.


http://www.php.net/manual/pt_BR/language.oop5.php
http://www.mundooo.com.br/
20/03/2005 2:47pm (~19 anos atrás)

Gustavo Dutra disse:
Cara, faltou muita coisa neste seu artigo, como por exemplos métodos estáticos. Isso pode ocasional muitos erros quando migramos do oop convencional do php para o oop5.
E eu acho que exemplo foi mal reproduzido. Mostra muito pouca coisa sobre oop5, não tem exceptions, por exemplo.
O oop do php5 já não tão completo, e vc o explica menos da metade, assim parece que o php não evoluiu.
09/03/2005 12:20pm (~19 anos atrás)

me esqueci de comentar cara... sua foto é muito engraçada! hehhe
falow
04/03/2005 10:13pm (~19 anos atrás)

Meu na humildade sem desmerecer o seu artigo mas vc quer saber o que é PHP5 de verdade??? Acesse (http://www.phpbrasil.com/articles/article.php/id/833) rsrs
26/02/2005 6:35pm (~19 anos atrás)

As classes podem imprimir sim, mas depende de que classe estamos lidando e em que camada ela se localiza!
25/02/2005 3:47pm (~19 anos atrás)

Olá isaac, não tem nada de novo neste artigo, você não aborda os conceitos da maneira correta e só dá exemplo de coisas que não tem muito sentido em OO.

Alguns conceitos que você quebrou:
1) As classes não devem imprimir direto ou seja, usar 'print' ou 'echo', e sim retornar os valores, usando 'return'.
25/02/2005 8:45am (~19 anos atrás)

Tirando os critérios de acesso private, não há mais nada de diferente no PHP 5 do PHP 4 em seu artigo.

Mas foi legal...
24/02/2005 10:39pm (~19 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)