You are on page 1of 15

Implementando MVC

Vamos apresentar a estrutura inicial para o backend de um ecommerce de livros. Esta estrutura vai ser parte do nosso projeto final.
index.php app Controller.php Model.php View.php lib Banco.php view home.php livro.php usuario.php

index.php
Caso existam classes, elas podero ficar separadas:
<?php function appLoad($classe) { $arquivo = "app/$classe.php"; if(file_e ists($arquivo)) { require_once($arquivo); ! ! function li"Load($classe) { $arquivo = "li"/$classe.php"; if(file_e ists($arquivo)) { require_once($arquivo); ! ! spl_autoload_re#ister("appLoad"); spl_autoload_re#ister("li"Load"); ne$ %ontroller();

Controller.php
<?php class %ontroller { pu"lic $vie$; pu"lic $&odel; pu"lic function __construct() { $this'(vie$ = ne$ )ie$(); $this'(&odel = ne$ *odel(); $action = isset($_+,-./action/0) ? $_+,-./action/0 1 null; s$itch($_+,-./action/0) { case /livro/1 $this'(verLivro($_+,-./id/0); "rea2; case /usuario/1 $this'(ver3suario($_+,-./id/0); "rea2; //continua

Controller.php
! pu"lic function ho&e() { $dados = $this'(&odel'(#et%ontent(); $this'(vie$'(ad&in(/ho&e/4 $dados); ! pu"lic function verLivro($id) { $dados = $this'(&odel'(#etLivro($id); $this'(vie$'(ad&in(/livro/4 $dados); ! pu"lic function ver3suario($id) { $dados = $this'(&odel'(#et3suario($id); $this'(vie$'(ad&in(/usuario/4 $dados); ! ! ! default1 $this'(ho&e(); "rea2;

Model.php
<?php class *odel { private $"anco; pu"lic function __construct() { $this'("anco = 5anco11instanciar(); ! pu"lic function #et%ontent() { $conteudo./livros/0 = $this'("anco'(listar(/livros/); $conteudo./usuarios/0 = $this'("anco'(listar(/usuarios/); ! // continua return $conteudo;

Model.php
pu"lic function #etLivro($id) { return $this'("anco'(pesquisar(/livro/4 6id=$id7); ! pu"lic function #et3suario($id) { return $this'("anco'(pesquisar(/usuario/4 6id=$id7); ! !

Banco.php
<?php class 5anco { private static $instance; private private private private $host $d" $user $pass = = = = "localhost"; "livraria"; "root"; "89:;<=";

// %ore do sin#leton pu"lic static function instanciar() { if(>self11$instance) { self11$instance = ne$ 5anco(); self11$instance'(conectar(); ! ! // continua return self11$instance;

Banco.php
private function conectar() { $cone ao = &?sql_connect($this'(host4 $this'(user4 $this'(pass); if(>$cone ao) { die(/,rro ao conectar ao "anco de dados1 / . &?sql_error()); ! if(>&?sql_select_d"($this'(d")) { die("@Ao foi possivel conectar ao data"ase {$this'(d"!" . &?sql_error()); ! ! pu"lic function listar($ta"ela) { $rs = &?sql_quer?("B,L,%- C DEF* $ta"ela"); $results = arra?(); $hile($ro$ = &?sql_fetch_assoc($rs)) { $results.0 = $ro$; ! ! // continua return $results;

Banco.php
pu"lic function pesquisar($ta"ela4 $condicao) { $rs = &?sql_quer?("B,L,%- C DEF* $ta"ela GH,E, $condicao"); ! return &?sql_fetch_assoc($rs); !

!"

View.php
<?php class )ie$ { pu"lic function ad&in($ca&inho4 $dados) { require("vie$/$ca&inho.php"); ! !

!!

home.php
<>IF%-JK, ht&l( <ht&l( <head( <&eta charset="3-D'L" /( <title(LoMa <N8 ' Od&in</title( </head( <"od?( <h8(Livros</h8( <ta"le "order=/8/( <tr( <th(PI</th( <th(-itulo</th( <th(PB5@</th( <th(KreQo</th( </tr( <?php foreach($dados./livros/0 as $livro)1 ?( <tr( <td(<?php echo $livro./id/0; ?(</td( <td( <a href="?action=livroRid=<?php echo $livro./id/0; ?("( <?php echo $livro./titulo/0; ?(</td( </a( </td( <td(<?php echo $livro./is"n/0; ?(</td( <td(<?php echo $livro./preco/0; ?(</td( </tr( <?php endforeach; ?( </ta"le(

!2

home.php
<h8(3suSrios</h8( <ta"le "order=/8/( <tr( <th(PI</th( <th(@o&e</th( <th(Benha</th( <th(Od&in?</th( </tr( <?php foreach($dados./usuarios/0 as $usuario)1 ?( <tr( <td(<?php echo $usuario./id/0; ?(</td( <td( <a href="?action=usuarioRid=<?php echo $usuario./id/0; ?("( <?php echo $usuario./no&e/0; ?(</td( </a( </td( <td(<?php echo $usuario./senha/0; ?(</td( <td(<?php echo $usuario./is_ad&in/0 ? /T/ 1 //; ?(</td( </tr( <?php endforeach; ?( </ta"le( </"od?( </ht&l(

!3

livro.php
<>IF%-JK, ht&l( <ht&l( <head( <&eta charset="3-D'L" /( <title(LoMa <N8 ' Od&in</title( </head( <"od?( <h8(<?php echo $dados./titulo/0; ?(</h8( <p( PI1 <?php echo $dados./id/0; ?(<"r /( PB5@1 <?php echo $dados./is"n/0; ?(<"r /( -Utulo1 <?php echo $dados./titulo/0; ?(<"r /( KreQo1 <?php echo $dados./preco/0; ?(<"r /( </p( </"od?( </ht&l(

!4

#$#ario.php
<>IF%-JK, ht&l( <ht&l( <head( <&eta charset="3-D'L" /( <title(LoMa <N8 ' Od&in</title( </head( <"od?( <h8(<?php echo $dados./no&e/0; ?(</h8( <p( PI1 <?php echo $dados./id/0; ?(<"r /( @o&e1 <?php echo $dados./no&e/0; ?(<"r /( Benha1 <?php echo $dados./senha/0; ?(<"r /( Od&in? <?php echo $dados./is_ad&in/0 ? /B/ 1 /@/; ?(<"r /( </p( </"od?( </ht&l(

!5

You might also like