MVC - Conceito e exemplo em PHP
Neste artigo faço uma pequena descrição sobre o padrão de arquitetura de software MVC. Nele descrevo brevemente o funcionamento das camadas MVC, exemplifico o funcionamento básico com PHP e cito algumas vantagens de se utilizar este padrão.
[ Hits: 32.126 ]
Por: Anderson Irias Hermogenes em 06/10/2016 | Blog: https://irias.com.br
<?php
/* Realiza a inclusão dos arquivos com os códigos Model, View, Controller*/
include '/mvcexemplo/Controller/Controller.php';
include '/mvcexemplo/View/View.php';
include '/mvcexemplo/Model/Model.php';
/* Pega a ação passada pela URL*/
$acao = $_GET['acao'];
/* Valida a ação passada, verifica se ela existe e se ela e o login
* Se a ação for exisir e for login inicia a função login do Controller
* Se não inicia a função login da View*/
if(isset($acao) && $acao == 'login'){
$controller = new Controller();
$controller->login();
}else{
$view = new View();
$view->login();
}
?>
<?php
class View {
public function login($validacao) {
if(!isset($validacao)){
/* Exibe o formulário de login, onde será realizada a requisição pelo usuário */
echo '
<div>
<h3>Login</h3>
<form action="index.php?acao=login" method ="post">
Usuário:
<input type="text" name="usuario"></br></br>
Senha:
<input type="password" name="senha"></br></br>
<input class="botao" type="reset" value="Limpar">
<input class="botao" type="submit" name="submit" value="Logar">
</form>
</div>';
}else{
/* Exibe o resultado da validação do login feita pela Model */
echo '<h3>'.$validacao.'</h3>';
}
}
}
?>
<?php
include '/../Model/Model.php';
class Controller {
public function login() {
/* Pega o usuário e senha preenchidos no formulário de login da View */
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
/* Encaminha os dados a Model para que seja realizado a validação */
$model = new Model();
$validacao = $model->validaDados($usuario,$senha);
/* Pega o resultado da validação realizada no Model e o encaminha para ser exibido pela View */
$view = new View();
$view->login($validacao);
}
}
?>
<?php
class Model {
public function validaDados($usuario,$senha) {
/* Aplica a validação ao usuário e senha passados, utilizando as regras de négocio especificas para ele. */
if(strlen($usuario)<5){
return 'Digite o usuário corretamente';
}else if(strlen($senha)<8){
return 'A senha deve possuir mais de 8 caracteres';
}else{
return 'Login efetuado com sucesso';
}
}
}
?>
Como ter o ChatGPT no seu site em PHP
Ato 2 - comandos de saída, constantes e operadores em PHP (básico)
Tratamento de exceções do PHP: uma introdução para iniciantes
Verdades e mentiras sobre tecnologias WEB
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
Samba 4 AD-DC 2026: Como instalar e configurar um Active Directory (via APT-GET)
[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
Como Configurar DNS Reverso (PTR) em Ambientes Linux e Microsoft
Preparando o Ambiente para Administrar o Samba 4 a partir do Windows com RSAT
Problema ao instalar Linux Mint. (1)
Midia de instalação LM-21.3 não inicializa (11)
A diferença entre a fala de um Samuel e a fala de alguém que conhece o... (9)









