Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

MVC Completo - #20 Exemplo Completo

01/05/2018

Hoje vamos fazer um exemplo completo do sistema MVC, utilizando o model, view e controller. Para isso, faremos um login simples (sem critérios de segurança, apenas para exemplo).

Criando login no MVC

Para criarmos um exemplo completo no MVC devemos seguir a ordem abaixo:

1 - Criar o link no layout

<a href="<?php echo DIRPAGE.'login'; ?>">Login</a>

2 - Criar a rota desse link na ClassRoutes

"login"=>"ControllerLogin",

3 - Criar o diretório do login dentro de app/view e criar o arquivo Main.php que conterá o formulário de login.

<form name="FormLogin" id="FormLogin" method="post" action="<?php echo DIRPAGE.'login/validarLogin' ?>">
    <input type="text" name="Usuario" id="Usuario" placeholder="Usuário:"><br>
    <input type="password" name="Senha" id="Senha" placeholder="Senha:"><br>
    <input type="submit" value="Logar">
</form>

4 - Devemos criar nosso arquivo controller que renderizará o layout e chamará a validação do model.

namespace App\Controller;

use App\Model\ClassLogin;
use \Src\Classes\ClassRender;

class ControllerLogin extends ClassLogin{

    use \Src\Traits\TraitUrlParser;

    public function __construct()
    {
        if(count($this->parseUrl())==1){
            $Render=new ClassRender();
            $Render->setTitle('Login');
            $Render->setDescription('Faça seu login');
            $Render->setKeywords('login, login website, area restrita');
            $Render->setDir('login');
            $Render->renderLayout();
        }
    }

    #Validar o login do usuário
    public function validarLogin()
    {
        $Validacao=$this->validarUsuario($_POST['Usuario'],$_POST['Senha']);
        if($Validacao==true){
            echo "Login efetuado";
        }else{
            echo "Não foi feito o login";
        }
    }
}

5 - Criaremos em seguida o nosso model (ClassLogin.php) que fará o acesso direto ao banco de dados e retornará true ou false:

namespace App\Model;

class ClassLogin extends ClassConexao{

    #Validar o Usuário no Banco
    protected function validarUsuario($Usuario,$Senha)
    {
        $BFetch=$this->conexaoDB()->prepare("select * from login where Usuario=:usuario and Senha=:senha");
        $BFetch->bindParam(":usuario",$Usuario,\PDO::PARAM_STR);
        $BFetch->bindParam(":senha",$Senha,\PDO::PARAM_STR);
        $BFetch->execute();
        if($Row=$BFetch->rowCount()>0){
            return true;
        }else{
            return false;
        }
    }
}

6 - Criaremos nossa tabela no MySql:

CREATE TABLE 'login' (
'Id' int(11) NOT NULL,
'Usuario' varchar(30) NOT NULL,
'Senha' varchar(30) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
ALTER TABLE 'login' ADD PRIMARY KEY ('Id');
ALTER TABLE 'login' MODIFY 'Id' int(11) NOT NULL AUTO_INCREMENT;
INSERT INTO 'login' ('Id', 'Usuario', 'Senha') VALUES (1, 'webdesign', '123');

Seguindo os passos acima criamos uma página completa no sistema MVC.

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

MVC Completo - #19 Model V (Atualizar)
Hoje vamos finalizar a parte de Model com a atualização de dados no banco de dados do nosso sistema MVC.
Saiba mais!
MVC Completo - #21 Mudando Diretório Raiz
Nessa vídeo-aula aprenderemos como colocar o nosso sistema mvc dentro de um diretório interno, por exemplo: www.meusite.com.br/mvc.
Saiba mais!
MVC Completo
Neste curso aprenderemos como criar o padrão de projeto MVC completo, analisando desde sua estrutura até a programação.
Saiba mais!