Ir para conteúdo
Fórum Script Brasil
  • 0

MVC: um controlador para cada tabela


Frank K Hosaka

Pergunta

Depois de três anos estudando PHP, a primeira reação de quem vê o MVC é entrar em pânico.

O PHP é bem abstrato, em três anos só aprendi 2% do que ele é capaz.

E agora estou começando a engatinhar no MVC (ou POO PHP), e hoje eu consegui criar dois controladores, cada um cuidando de uma tabela:

arquivo Index.php
<?php
session_start();
class ControladorPessoa {
    public function __construct(){
        if(isset($_GET['proxPessoa'])){$_SESSION['vetorPessoa']++;}}
    public function consulta(){
        $_SESSION['vetorPessoa']=0;
        $conexao=new Conexao();
        return $conexao->consulta("tbpessoa");}}
class ControladorProduto {
    public function __construct(){
        if(isset($_GET['proxProd'])){$_SESSION['vetorProduto']++;}}
    public function consulta(){
        $_SESSION['vetorProduto']=0;
        $conexao=new Conexao();
        return $conexao->consulta("tbprod");}}
class Conexao {
    public function consulta($tabela){
        $pdo=new PDO("mysql:host=localhost;dbname=diario","root","");
        $stmt=$pdo->query("select * from $tabela");
        return $stmt->fetchAll(PDO::FETCH_OBJ);}}
$controlePessoa=new ControladorPessoa();
$controleProduto=new ControladorProduto();
if(!isset($_SESSION['pessoas'])){$_SESSION['pessoas']=$controlePessoa->consulta();}
if(!isset($_SESSION['produtos'])){$_SESSION['produtos']=$controleProduto->consulta();}
$pessoas=$_SESSION['pessoas'];
$produtos=$_SESSION['produtos'];
$vetorPessoa=$_SESSION['vetorPessoa'];
$vetorProduto=$_SESSION['vetorProduto'];
require 'Consulta.php';

arquivo Consulta.php
<body style=margin-left:400px>
<h4>Amostra da tabela Pessoa:</h4>
<?=$pessoas[$vetorPessoa]->pessoa?>
<form>
    <input type=submit value="Próxima Pessoa">
    <input type=hidden name=proxPessoa value=<?=$vetorPessoa?>>
</form>
<hr>
<h4>Amostra da tabela Produtos:</h4>
<?=$produtos[$vetorProduto]->prod?>
<form>
    <input type=submit value="Próximo Produto">
    <input type=hidden name=proxProd value=<?=$vetorProduto?>>
</form>
</body>

 

Captura de tela 2023-12-30 165601.png

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...