MVC em PHP

Compartilhar no FacebookCompartilhar no Twitter

Modelo MVC

Um dos padrões de projeto mais populares quando se trabalha em PHP orientado a objetos é o MVC.

Com MVC a programação fica organizada em três camadas, a do Model (geralmente relativo ao banco de dados), a da View (geralmente apresentação em HTML) e a do Controller (a do código e processamento em PHP).

Controller - contém a lógica da aplicação. Cada controller pode oferecer diferentes funcionalidades. Controles recebem e modificam os dados acessando as tabelas do banco de dados através do modelos. Registram variáveis e objetos que podem ser usados nas views.

Models - São ativas representações das tabelas do banco de dados: podem conectar para o banco de dados, efetuar consultas nele (se instruído para fazer isso por um controller) e samvam dados no banco de dados. Na arquitetura MVC não deve haver interação entre modelos e views. Toda a lógica é manipulada pelos controllers.

View - podem ser descritos como arquivos de templates que apresentam seu conteúdo para o usuário: variáveis, arrays e objetos que são usados em views são registrados através de um controller. Views não deveriam conter complexas lógicas de negócios, somente a estrutura de controle elementar necessária para executar operações particulares como com a iteração de coleções de dados através de uma contrução foreach, deve ser contina na view.

 

Pequeno tutorial sobre MVP no PHP

mvc_php.pdf

 

Com este exemplo criei o aplicativo mais simples possível, para min, usando MVC em PHP

Este aplicativo teve como inspiração o artigo MVC Architecture In Php de Nitin patidar. Os seguintes são uma pequena evolução do primeiro.

mvc_minimo.zip

mvc_minimo2.zip

mvc_minimo3.zip

Aqui o banco dos exemplos acima:

-- Banco - funcionario
create table funcionarios
(
codigo int auto_increment primary key,
nome char(45) not null
);

insert into funcionarios (nome) values ('João Brito Cunha');
insert into funcionarios (nome) values ('Pedro Barbosa Abreu');
insert into funcionarios (nome) values ('Gilberto Braga');
insert into funcionarios (nome) values ('Cassimiro Abreu');
insert into funcionarios (nome) values ('João dos Anzóis Pereira');

Para cada exemplo, edite o script de conexão para ajustar os dados do banco.

 

Mais dois exemplos

mvc_exemplo.zip

mvla9tl_1.5.zip

 

Links úteis sobre o uso do MVC em PHP

MVC no Joomla 1.5
http://www.numaboa.com/informatica/tutos/joomla/885-mvc

A gentle introduction to MVC (em 3 partes)
http://nemetral.net/2008/07/31/a-gentle-introduction-to-mvc-part-1/

PHP: Uma introdução suave ao MVC
http://pequenotux.blogspot.com/2008/12/php-uma-introduo-suave-ao-mvc-parte-1.html
http://pequenotux.blogspot.com/2008/12/php-uma-introduo-suave-ao-mvc-parte-2.html

Desenvolvimento em três camadas utilizando MVC e PHP 5
inf.unisul.br/~ines/workcomp/cd/pdfs/2905.pdf

http://www.revistaphp.com.br/print.php?id=50
http://www.phpit.net/article/simple-mvc-php5/1/?pdf=yes
http://robrohan.com/projects/download.php?file=examples/Mvla9tl_1.0.zip
http://www.onlamp.com/lpt/a/6438
http://www.fragmental.com.br/wiki/index.php?title=MVC_e_Camadas
http://pt.wikipedia.org/wiki/MVC
http://www.joomla.com.br/-artigos-mainmenu-43/234-como-sorganizados-os-arquivos-no-joomla-15.html?tmpl=component&print=1&page=
http://imasters.uol.com.br/artigo/5795/php/mvc_em_php_com_smarty_-_parte_02/imprimir/


Adicionar comentário


Código de segurança
Atualizar

Pensamento do Dia

As pessoas são solitárias porque constroem paredes em vez de pontes. (Joseph F. Newton)
Fonte