INTRODUÇÃO

O paradigma da Orientação a Objetos leva o leitor a conhecer vários caminhos e ferramentas que o auxiliará no desenvolvimento de softwares em diversas linguagens. O que é tão útil devido sua facilidade de reutilização de códigos, ainda é possível encontrar programadores que insistem em paradigma da programação estruturada, onde o foco era nos processos, por esse motivo eram tão importantes os DFD (Diagrama de Fluxo de dados). Atualmente com o POO (Programação Orientado a Objeto), basta o diagrama de classe de seu banco de dados para que seja possível desenvolver as classes em programação. As tabelas do banco de dados, quando transportadas para os conceitos de UML, são chamadas de classes, onde cada tupla (registro da tabela) é uma instancia de classe, sendo interpretada como um objeto da classe.

PARA QUE SERVER

Usar o paradigma da Orientação a Objetos no desenvolvimento em PHP.

UTILIDADE

São úteis por dois principais conceitos Modularidade e Visibilidade, veja estes conceitos em POO.

Desenvolver 3(três) arquivos onde serão duas classes e um arquivo que montará a grade conforme artigo anterior desta série.

Segue abaixo o nome dos três arquivos, onde as classes são salvas em uma pasta específica chamada class dentro da raiz do projeto.

  • conexao.class.php
  • Produtos.class.php
  • produtos.php

Será mostrado neste artigo o código da classe Produtos, esse código está disposto no arquivo Produtos.class.php, os demais arquivos, serão explicados no próximo e ultimo artigo desta série.

Entenda o que cada um faz:

  • conexao.class.php – Responsável por manter uma conexão persistente ao banco de dados MYSQL.
  • Produtos.class.php – Aspecto em Orientação a Objetos da tabela produtos no banco de dados MYSQL.
  • produtos.php – Arquivo responsável por acessar o método de consulta da classe produtos e montar a tabela incluindo arquivos HTML para cabeçalho e corpo para cada linha, conforme visto no artigo anterior.

A estrutura de uma classe em PHP assim como em diversas linguagens é bem simples, segue exemplo abaixo:



        preco * 0.10;
               }
}
?>
Listagem 1: Classe para servir como base para entendimento. Modelo de uma classe em PHP.

As propriedades de uma classe são suas característas, as mesmas são agrupadas a partir de seus objetos. Uma classe é o agrupamento de diversos objetos por características semelhantes, essas semelhanças são as propriedades. No caso citado de pessoas, é possível perceber que todas elas têm Nome, CPF, Endereço, Data de Nascimento e etc.

O que será necessário são o transporte desta vida real para a programação, abstraindo dos objetos seus atributos ou propriedades, onde cada objeto é constituído por métodos ou funções, como por exemplo: Andar, Pular, Piscar e etc. Observe que as funções e métodos são representados por verbos, isso devido sua origem ser uma ação do objeto referido. Os métodos podem ou não ter retorno, é possível que em um dado momento seja necessário o calculo da idade de uma pessoa, por exemplo, assim teria um método chamado getIdade, dentro desse método tem todo o código para realizar tal calculo e o retorno que seria o resultado do calculo, sendo do tipo Integer, pois não existe idade fracionária. Existem métodos sem retorno algum, quando se define algo, por exemplo. Se uma idade fosse definida, então o nome da função e seu retorna seria alterado para setIdade, sem retorno, pois o objetivo é inserir a idade e não buscá-la.

A classe Produtos deve conter os métodos responsável por realizar as tarefas inerentes o objeto, deste modo na classe será incluído método chamado getProduto responsável por retornar todos os produtos da tabela através de uma consulta SQL e armazenar em uma variável array para podemos manipular os dados.

Abaixo segue o código do método a ser inserido na classe Produtos.class.php:


            function getProduto(){

                //realiza o select no banco de dados e seleciona e guarda as informações na variavel $resultSet
            
                $resultSet = mysql_query("select * from produtos ") or die (mysql_error());
            
                return $resultSet;
            
            }
        
Listagem 2: Método getProduto, responsável por realizar a consulta SQL no banco de dados MYSQL e retornar um resultado para tratamento em array.

Neste momento será criado um arquivo em php responsável por montar a grade usando a tabela que criamos no FrontPage e a função getProduto da classe Produtos.

Construtores

O Construtor é referenciado no PHP como __construct(), é uma função definida na classe e que é executada sempre que o objeto é criado, ou seja, sempre que a classe é instanciada.

Este conceito é importante, pois na classe Produtos existe um construct responsável por realizar a conexão ao banco de dados, através de uma outra classe chamada conexao.class.php, será visto no próximo artigo desta série.

Abaixo segue código completo e com os trechos explicados:

Produto.class.php


            setConectar();

            echo "Conectado.";
    
        }
    
    
    
        function setProduto(){
    
            //realiza o insert no banco de dados passando os valores do objeto criado
    
            $insertProdutos = mysql_query("insert into produtos values(NULL ,'$this->codigo_barra','$this->produto')") or die (mysql_error());
    
            echo "Inserido.";
    
        }
    
        function getProduto(){
    
            //realiza o select no banco de dados e seleciona e guarda as informações na variavel $resultSet
    
            $resultSet = mysql_query("select * from produtos ") or die (mysql_error());
    
            return $resultSet;
        }
    
    }?>
        
Listagem 3: Código completo da classe Produtos em PHP em aspecto da tabela PRODUTOS do MYSQL.

CONCLUSÃO

O uso das técnicas do Paradigma da Orientação a Objetos no desenvolvimento de softwares é incomparável. A dificuldade inicial é apenas a mudança de visão entre processos e objetos, após este entendimento ter sido sanado as barreiras do desenvolvimento vão abaixo. Concluí-se também que o desenvolvedor que usa as técnicas de orientação a objeto é capaz de programa em toda linguagem com este suporte, pois as diferenças entre as mesmas na criação de classes e objetos são mínimas.