DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

POO, PHP, DAO e MySQLI - Artigo Clube Delphi 108

Artigo da Revista Clube Delphi Edição 108.

 Neste artigo veremos

Veremos o desenvolvimento de uma pequena aplicação para que possamos entender como funcionam Classes, Atributos, Métodos, Herança e Instância;

Qual a finalidade

Desenvolver uma aplicação com o intuito de praticarmos o desenvolvimento de sistemas com POO no PHP;

Quais situações utilizam esses recursos?

Como já mencionado em diversos os artigos e como é sabido da maioria dos desenvolvedores, criar sistemas seguindo os princípios da orientação a objetos é uma das melhores práticas que podemos empregar em qualquer sistema.

 

Resumo do DevMan

            POO – Programação Orietada a Objetos certamente é o tema que mais chama a atenção de todos. Por que será? A explicação é simples: com POO o sistema torna-se mais robusto, inteligente, de rápido manutenção e sem dúvida nenhuma melhor entendível. Podemos aplicar POO em todas as linguagens de programação.

Veremos como trabalhar com POO em PHP puro, criando classes, atributos, métodos e utilizando um dos conceitos mais interessantes o DAO – Data Access Objects para separarmos regras de negócios de camadas de acesso a dados e layout.

 

Na edição passada, vimos o principais conceitos da utilização e deenvolvimento de sistemas com POO no PHP. Vimos como criar classes, herança, o que são atributos, métodos e uma série de outras informações pertinentes a um projeto POO. De fato o tema POO parece nunca cair de moda e a razão é bem simples. Com orientação a objetos poupamos tempo, melhoramos o entendimento dos sistemas, reutilizamos código evitando a perda de tempo (já mencionada). Uma montanha de recursos e vantagens podem se mencionadas aqui e em outros artigos. Realmente o tema é extremamente longo e detalhado.

A idéia desse artigo é colocar em prática tudo que aprendemos no artigo anterior. Faremos a criação de um sistema que nos possibilitará entender perfeitamente tudo o que já foi dito. Mão na massa!

Exemplo real de uso

Sim, foram mostrados vários conceitos, exemplos, e tenho certeza que sempre fica uma dúvida, isso é normal.
Temos que nos aprofundar um pouco mais nisso, para isso vamos criar uma aplicação(Contas Pagar e Receber) em OO, utilizando logicamente PHP, banco de dados MySQL, e o mais interessante a extensão MySQLI. A principal idéia aqui é também utilizar a DAO (Data Access Objects), para a persistência de dados, separando as regras de negócios das regras de acesso a banco de dados.

Lembrando que aqui não estaremos utilizando nenhum editor. Você pode escolher um de sua preferência. Apenas crie um diretório a sua escolha para que possa ser salvo todos os arquivos que criaremos nesse projeto. É interessante também você ter um servidor instalado na sua máquina, rodando PHP e MySQL e caso não tenha nenhum recomendo a utilização do WAMP (um pacote que faz a instalação do apache, php, mysql em alguns cliques). 

Nota do DevMan

A extensão MySQLI, conhecida como MySQL melhorada, foi desenvolvida para dar suporte as novas funcionalidades do MySQL 4.1. Outra coisa interessante é que com ela  podemos utilizar ela no modo orientado a objetos, já que não verdade ela é uma classe.

 

Banco de Dados

Primeiramente vamos criar nosso banco de dados. Não entrarei em detalhes aqui sobre isso por não ser o escopo principal do artigo. Basicamente teremos quatro tabelas: Clientes, Fornecedores, ContasPagar e ContasReceber. Criaremos também um sistema simples, mas com base nele será possível sim e, com facilidade, você incrementar mais funcionalidades ao sistema. É importante salientar também algumas regras da nossa aplicação, onde uma conta a pagar, será paga a um fornecedor e conta a receber será recebida de um cliente, com essa pequena idéia você já vai entender as tabelas do banco de dados. Conforme a Figura 1, crie as tabelas necessárias. 

ClubeDelphi PLUS!

Acesse agora o mesmo o portal do assinante ClubeDelphi e inscreva-se para o curso Rodrigo Carreiro que mostra como trabalhar com bancos de dados MySQL.  

www.devmedia.com.br/cursos/listcurso.asp?curso=136

 

Figura 1. Tabelas do banco de dados

 

Classe Contas Pagar e Contas Receber

Para iniciar nosso desenvolvimento, termos que começar criando as classes ContasPagar e ContasReceber. Essas classes serão responsáveis por abstrair as tabelas do nosso banco de dados, que irão conter nossos atributos e propriedades com métodos GET e SET, que são os campos das suas respectivas tabelas.

Inicie um novo arquivo no Bloco de Notas ou no seu editor preferido. Digite o código da Listagem 1. Crie no diretório principal da aplicação um subdiretório denominado Classes e salve as respectivas classes no mesmo com os nomes de ContasPagar.php e ContasReceber.php.

Como dito, na Listagem 1 temos o código das classes Contas a Receber e Contas a Pagar. No início da listagem estamos definindos os atributos da classe Conta a Receber. Veja que criamos 6 atributos que são:

·         $id_contasreceber: id do registro;

·         "

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Rafael Silva
Especialista há diversos anos em tecnologias de desenvolvimento como .net, PHP, Android, Delphi, MySQL, Java e front-end. Ministrou aulas e produziu diversos artigos, vídeos e cursos online sobre estas tecnologias.
O que você achou deste post?

    2 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Bruno Castro
Rafael, você poderia ajudar nesse post, está difícil de saber os nomes dos campos das tabelas. a imagem ficou muito ruim para visualizar. se tiver um link com o projeto para baixar vai ser de grande ajuda. abraço
[há +1 mês] - Responder

 

Daniella Adriana Da Costa
Olá Bruno, problema resolvido.
[há +1 mês] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03