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

O meu primeiro MVC no PHP


Frank K Hosaka

Pergunta

Depois de três anos estudando o PHP, hoje eu consegui montar o meu primeiro MVC. Isso eu devo ao Barder, ele conseguiu em uma semana o que eu não consegui em três anos.

Para eu conseguir a lista dos cinco primeiros produtos, a minha listagem era assim:

<?php
$mysqli=new mysqli("localhost","root","","laravel");
$query=$mysqli->query("select * from tbprod limit 5");
$rows=$query->fetch_all(MYSQLI_ASSOC);
var_dump($rows);

Com o MVC, a minha listagem ficou bem robusta e imponente!

index.php

<?php
require_once "Controller/primeiroController.php";
$primeiro=new primeiroController();
$primeiro->exibir();
=================================================
Models/conexao.php

<?php
class conexao{
    private $conexao;
    public function __construct(){
        $host='localhost';
        $user='root';
        $password='';
        $db='laravel';
        $this->conexao=new mysqli($host,$user,$password,$db);
        return $this->conexao;}
    public function consulta($sql){
        $query=$this->conexao->query($sql);
        $rows=$query->fetch_all(MYSQLI_ASSOC);
        return $rows;}}
=============================================================
Models/produtos.php

<?php
class produtos{
    private $conexao;
    public function __construct(){
        require_once 'conexao.php';
        $this->conexao=new conexao();}
    public function amostra(){
        $rows=$this->conexao->consulta("select * from tbprod limit 5");
        return $rows;}}
===========================================================
Views/primeiroView.php

<?php
var_dump($amostra);
==========================================================
Controllers/primeiroController.php

<?php
class primeiroController{
    private $produtos;
    public function __construct(){
        $realpath=realpath(".");
        require_once "$realpath/Models/produtos.php";
        $this->produtos=new produtos();}
    public function render($viewName, $data = []) {
        $realpath=realpath(".");
        $viewFile ="$realpath/Views/$viewName.php";
        if (!file_exists($viewFile)) {
            throw new \Exception("View file '$viewName.php' not found.");}
        extract($data);
        require $viewFile;}
    public function exibir(){
        $amostra=$this->produtos->amostra();
        $this->render('primeiroView',['amostra'=>$amostra]);}}

 

Editado por Frank K Hosaka
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,3k
×
×
  • Criar Novo...