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

(Resolvido) PHP + MVC


Rafael Rocha B.

Pergunta

Olá pessoal, tudo tranquilo?

Galera, estou com uma pequena dificuldade. Estou iniciando em Orientação a Objetos e resolsi ler alguma coisa sobre MVC tb.

Enfim, resumindo o código abaixo.

Na view seto a variável $nome e passo ela pro método interpreta() que fica no arquivo controller.php. No controller.php passo a mesma variável setada pro método setNome() que fica na model.php. Na model tenho o método getNome() que é chamado pelo método retornaView() que fica na controller.php. Na view.php chamo esse método retornaView() com o intuito de exibir o valor da variável $nome. É justamente ai q não ta dando certo, na hora de retornar o valor do método getNome() pro método retornaView() =/...

Alguém pode dar uma luz?

VIEW.php

<?php
include "controller.php";

$nome = $_POST["nome"];
$obj = new Control();
$obj->interpreta($nome);
?>

<html>
    <head></head>

    <body>
        <form method="Post" action="view.php">
            <label>Nome:<input type="text" name="nome" /></label><br />
            <label>Nome:<input type="submit" value="Enviar" /></label><br />
        </form>
    <?php
    echo $obj->retornaView();
    ?>
    </body>
</html>
CONTROLLER.php
<?php
    include "model.php";

    class Control
{
    public $obj;

    function interpreta($nome)
    {
        if($nome == '')
        {
            echo "Digite suas informações!";
        }
        else
        {
            $obj = new Model();
            $obj->setNome($nome);
        }

    }

    function retornaView()
    {
        $obj = new Model();
        return $obj->getNome();
    }

}


?>
MODEL.php
<?php

class Model
{

    public $nome = null;

    function setNome($nome)
    {
        $this->nome = $nome;
    }

    function getNome()
    {
        return $nome;
    }

}
?>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Resolvido!

VIEW.PHP

<?php require_once("controller.php"); ?>

<?php

$operacao = $_POST["operacao"];
$valor1   = $_POST["valor1"];
$valor2   = $_POST["valor2"];
$c = new Controller();
$c->interpreta($operacao, $valor1, $valor2);

?>

<h3>Listagem de Usuários</h3>
<br><br>

       <form method="POST" action="view.php">
       <label>Valor 1<input type="text" name="valor1" /></label>
       <label>Valor 2<input type="text" name="valor2" /></label>
       <label>Operação<input type="text" name="operacao" /></label>
       <input type="Submit" value="Enviar" />
       </form>

<br />
<br />
Resultado:<br />
      <?php

      echo $c->retornaResultado();
?>
CONTROLLER.PHP
<?php
require_once("model.php");

Class Controller
{
    public $obj;

    function interpreta($operacao, $valor1, $valor2)
    {

             if($operacao == '' || $valor1 == '' || $valor2 == '')
             {
                          echo "Preencha os campos necessários!";
             }

             else {
                          $this->obj = new Calculadora();
                          $this->obj->escolherOperacao($operacao, $valor1, $valor2);
                  }


    }

    function retornaResultado()
    {
             return $this->obj->resultadoOperacao();
    }
}

?>
MODEL.PHP
<?php


class Calculadora {


      public $valor1;
      public $valor2;
      public $operacao;
      public $resultado;


      function escolherOperacao($operacao, $valor1, $valor2)
      {

             if($operacao == "soma")
             {
                             $this->Soma($valor1, $valor2);
             }

             elseif($operacao == "subtracao")
             {
                             $this->Subtracao($valor1, $valor2);
             }

             elseif($operacao == "multiplicacao")
             {
                             $this->Multiplicacao($valor1, $valor2);
             }


      }


      function Soma($valor1, $valor2)
      {
            $this->resultado = $valor1 + $valor2;
      }

      function Subtracao($valor1, $valor2)
      {
              $this->resultado = $valor1 - $valor2;
      }

      function Multiplicacao($valor1, $valor2)
      {
              $this->resultado = $valor1 * $valor2;
      }

function resultadoOperacao()
{
    return $this->resultado;
}


}


?>

Link para o comentário
Compartilhar em outros sites

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,2k
    • Posts
      652k
×
×
  • Criar Novo...