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: 31.734 ]
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'; } } } ?>
Verdades e mentiras sobre tecnologias WEB
Implementando scripts PHP com MySQL
Tratamento de exceções do PHP: uma introdução para iniciantes
PHP Orientado a Objetos: Para quem está começando
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (1)
O 1º artigo a gente nunca esquece (2)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (9)