Cześć,
przeglądam tą stronę:
http://phpedia.pl/wiki/Model_View_Controllerzawarty jest tam kod:
<?php
/**
* klasa modelu
*/
class Model {
public $tytul;
public $naglowek;
public $tresc;
public function pobierzTytul()
{
return $this->tytul;
}
public function pobierzNaglowek()
{
return $this->naglowek;
}
public function pobierzTresc()
{
return $this->tresc;
}
}
/**
* klasa widoku
*/
class View {
private $tytul;
private $naglowek;
private $tresc;
public function __construct($tytul, $naglowek, $tresc)
{
$this->tytul = $tytul;
$this->naglowek = $naglowek;
$this->tresc = $tresc;
$this->wyswietlStrone();
}
private function wyswietlStrone()
{
echo '<title>'.$this->tytul.'</title>'; echo '<h1>'.$this->naglowek.'</h1>'; echo '<p>'.$this->tresc.'</p>'; }
}
/**
* klasa kontrolera
* obsługuje model oraz uruchamia widok
*/
class Controller {
// obiekty
private $model;
private $view;
// dane
private $tytul;
private $naglowek;
private $tresc;
public function __construct()
{
$this->uruchomModel();
$this->ustawDane();
$this->pobierzDane();
$this->uruchomWidok();
}
private function uruchomModel()
{
$this->Model = new Model;
}
private function ustawDane()
{
$this->Model->tytul = 'Tytuł';
$this->Model->naglowek = 'Nagłówek';
$this->Model->tresc = 'Treść';
}
private function pobierzDane()
{
$this->tytul = $this->Model->pobierzTytul();
$this->naglowek = $this->Model->pobierzNaglowek();
$this->tresc = $this->Model->pobierzTresc();
}
private function uruchomWidok()
{
$this->View = new View($this->tytul, $this->naglowek, $this->tresc);
}
}
// uruchomienie prostego wzorca MVC
new Controller();
?>
Dlaczego w warstwie modelu ustawione jest:
public $tytul;
public $naglowek;
public $tresc;
a w warstwie widoku i kontrolera:
private $tytul;
private $naglowek;
private $tresc;
? Może mi ktoś to wyjaśnić? Po co 3 razy definiować to samo?