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: 30.527 ]
Por: Anderson Irias Hermogenes em 06/10/2016
<?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'; } } } ?>
Sistema de Gerenciamento de Conteúdo
PHP5 - Criando e utilizando uma classe básica
Construindo um ToolBar com botões no PHP-GTK
Instalando e configurando o PHP 7.1 no CentOS 7
Como ter o ChatGPT no seu site em PHP
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Debian 12 - IPTABLES - removendo NFTABLES
OverWatch 2 - Abrindo portas do jogo no Iptables.
Como instalar o adaptador wifi USB Intelbras ACtion A1200 no Linux Mint
Como normalizar seus arquivos MP3 para que fiquem no mesmo volume
Adaptado Bluetooth USB que funciona no Linux (27)
Erro nas atualizações do Void Linux (0)
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba
[Shell Script] Tire screenshots com Scrot facilmente com Zscrot
[Shell Script] DioPSI - Script multidistro para instalar programas
[Shell Script] ARS Vídeos - Cortador de vídeos e webcam shooter