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.276 ]
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
Como ter o ChatGPT no seu site em PHP
Ato 3 - Estrutura de Controle e Funções
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (0)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









