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!

Artigo Clube Delphi 95 - Programando em PHP usando MVC

Artigo publicado pela Clube Delphi edição 95.

Esse artigo faz parte da revista Clube Delphi edição 95. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler essa revista em PDF.imagem_pdf.jpg

PHP – Expert – Boas Práticas

Programando em PHP usando MVC

Aprenda técnicas de Orientação a Objetos juntamente com o conceito MVC para criar aplicações em PHP

 

O que é MVC?

Muita gente já ouviu falar alguma vez sobre esta metodologia de desenvolvimento. Mas afinal, o que vem a ser uma aplicação desenvolvida em MVC? Neste artigo, irei explicar de uma forma sucinta sobre este tipo de arquitetura de desenvolvimento e como este método pode ser aplicado utilizando a linguagem PHP.

MVC vem da sigla (Model-View-Controller) e é um padrão de arquitetura de software. Em aplicações complexas, que enviam uma série de dados para o usuário, o desenvolvedor frequentemente necessita separar os dados (“Model”) da interface (“View”). Desta forma, alterações feitas na interface não afetarão a manipulação dos dados, e estes poderão ser reorganizados sem alterar a interface do usuário. O model-view-controller resolve este problema através da separação das tarefas de acesso aos dados e lógica do negócio da apresentação e interação com o usuário, introduzindo um componente entre os dois: o Controller. MVC é usado em padrões de projeto de software, mas MVC abrange mais da arquitetura de uma aplicação do que é típico para um padrão de projeto.

A Figura 1 representa um diagrama simples exemplificando a relação entre Model, View e Controller onde linhas sólidas indicam associação direta e as tracejadas indicam associação indireta. É comum dividir a aplicação em camadas separadas: apresentação (“interface”), domínio e acesso a dados. Em MVC a camada de apresentação também é separada da view e da controller.

 

Figura 1. Representação gráfica do conceito MVC

 

MVC é muito visto também em aplicações para Web, onde a View é geralmente a página HTML, e o código que gera os dados dinâmicos para dentro do HTML é o Controller. E, por fim, o Model é representado pelo conteúdo de fato, geralmente armazenado em bancos de dados ou arquivos XML.

 

Usando Objetos para entender o conceito aplicado de MVC

Muita gente me pergunta sobre a maneira que eu programo usando MVC com PHP. É claro que já existem vários frameworks que utilizam essa técnica no desenvolvimento PHP. Porém resolvi apresentar aqui o conceito do que uso que pode servir de material de auxílio para outros programadores também.

Para se ter uma idéia, vamos partir para o modelo de programação orientada a objetos. A maneira mais prática de se programar usando MVC nada mais é do que programar usando orientação a objetos. Vamos pensar então no conceito de objeto. Um exemplo, um veículo, onde teremos a classe de veículo e seus métodos (Listagem 1).

 

Listagem 1. Exemplo de classe em PHP

 

class Veiculo{

  /* Qualquer veículo tem os seus métodos padrões: */

  public function andar(){

  /* Programação da função */

  }

  public function parar(){

  /* Programação da função */

  }

}

?>

 

Agora digamos que temos vários veículos, tais como: carros, motos, bicicletas e cada um terá eventos diferentes um do outro. Para isso criamos novas classes estendendo a classe Veiculo no qual as novas classes irão herdar os métodos e propriedades da classe Veiculo, como podemos ver a seguir na Listagem 2.

Desta forma quando instanciarmos o objeto Bicicleta, podemos utilizar os métodos de Veiculo, pois Bicicleta é uma extensão de Veiculo, como no código seguinte:

 

  $meuVeiculo = new Bicicleta();

  $meuVeiculo->trocarMarcha();

"

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!


Daniel Ribeiro
Analista de Sistemas e especialista em desenvolvimento avançado em PHP há 6 anos. Bacharel em Ciências da computação pela Universidade do Grande ABC. Desenvolvedor e coordenador de projetos do grupo Sonda Procwork.
O que você achou deste post?

    2 COMENTÁRIOS

[Fechar]

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



Fernando Alves.
Bom para iniciantes, porém o controller aí não está tratando das requisições de views e models a fundo.
[há +1 mês] - Responder

 

Wesley Yamazack
Olá Fernando, legal a observação.

O que você acha de publicar artigos conosco? Me envia um e-mail caso tenha interesse, wyamazack@devmedia.com.br. O que acha?

Um abraço
[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