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.928 ]
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';
				
			}	
    }
}
?>
PHP Orientado a Objetos: Para quem está começando
Sistema de Gerenciamento de Conteúdo
Instalando e configurando o PHP 7.1 no CentOS 7
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (1)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









