Página Inicial > PHP > PHP Orientado a Objetos com MVC

PHP Orientado a Objetos com MVC

Olá,

Hoje venho mostrar como funciona uma simples comunicação do PHP Orientado a Objetos com extrutura MVC.

No nosso sistema simples, informamos através da tela de visão qual o nosso nome e ele retornará uma mensagem de boas vindas.

Primeiro criamos o nosso arquivo de visão boasvindas.html , que vicará dentro da pasta /View/:

boasvindas.html

<!– Nesta primeira linha importamos a classe Controller que vamos fazer uma requisição. –>
<?php require_once ‘../Controller/BoasVindasController.php’ ?>
<html>
<head>
</head>
<body>
<p>
<?php

//Nesta linha é feita a chamada do Método BoasVindasController passando como parâmetro o nome João,
//e em seguida é impresso através do comando echo

echo BoasVindasController::ExibirBoasVindas(’João’);

?>
</p>
</body>
</html>

Logo em seguida criamos a classe BoasVindasController responsável por fazer a comunicação entre a Visão e a Classe de modelo e ficará dentro da pasta /Controller/.

BoasVindasController.php

<?php

//Nesta linha é feita a importação da classe modelo BoasVindas require_once ‘../Model/BoasVindas.php’;

class BoasVindasController{

public static function ExibirBoasVindas($Nome){
//Criamos um objeto da classe BoasVindas
$BoasVindas = new BoasVindas();
//Configuramos o objeto da classe passando como parâmetro o nome através do método setBoasVindas
$BoasVindas->setBoasVindas($Nome);
//retornamos as boas vindas através do método getBoasVindas
return $BoasVindas->getBoasVindas();
}

}

?>

E finalmente criamos a nossa classe de modelo, BoasVindas, que ficará dentro da pasta /Model/:

BoasVindas.php

<?php

class BoasVindas{

//Variável da classe
private $Saudacao;

//Método que irá configurar o mensagem
public function setBoasVindas($Nome){
$this->Saudacao = ‘Seja bem-vindo ‘ . $Nome;
}

//Método que irá retornar a mensagem
public function getBoasVindas(){
return $this->Saudacao;
}

}

?>

Por enquanto é isso!

Até a próxima pessoal.

Categories: PHP Tags: , , ,
  1. João Lenon
    26, agosto, 2009 em 20:49 | #1

    Você está chamando um método estático ?

  2. admin
    27, agosto, 2009 em 16:00 | #2

    Boa Tarde João,

    No arquivo de visão eu estou invocando um método estático da classe controller sem instânciar a classe. No caso se eu tivesse criado uma instancia da classe isso não seria permitido. E o único método estático que possui este exemplo é o da classe Controller. Na classe de modelo os métodos não podem ser estáticos por que a pseudo-variável $this não fica disponível dentro de métodos declarados como estáticos.

  1. Nenhum trackback ainda.