Na początek tylko informuję, że przejrzałem sporo wątków na forum, ale nadal nie znam odpowiedzi, a chciałbym od początku zabawy z MVC podążać w dobrym kierunku.
Struktura u mnie wygląda mniej więcej tak:
MODEL:
class Table_Model { private $db; public function __construct() { $this->db = new MysqlImproved_Driver; } public function get_table_status($idTable) { //jakiś kod } }
KONTROLER:
class Table_Controller { { $table_Model = new Table_Model(); $status = $table_Model->get_table_status($_GET['id']); $master = new View_Model('table'); $master->assign('status' , $status); $master->render(); } }
WIDOK:
kod html :)
I teraz pojawiło mi się bardzo proste pytanko. Mianowicie jak prawidłowo powinienem obsłużyć taką sytuację, że zależnie np. od tego co zwróci status chciałbym pewną część strony załadować z inną wartością.
Dla przykładu powiedzmy, że jeżeli status = 1 to oznacza to, że user jest zalogowany i chcemy wyświetlić jakieś powitanie, jeżeli status != 1 to wyświetlamy okienko logowania. 95% strony pozostaje bez zmian.
Ale teraz czy powinienem stworzyć osobny plik z widokiem dla opcji pierwszej i opcji drugiej i zależnie od tego jaki był wynik wywoływać albo jedną albo drugą? Czy może powinienem to jakoś inaczej rozwiązać?
Rozumiem, że wszystko sobie sprawdzam w kontrolerze, ale zakładając że 90% kodu html będzie bez zmian, a tylko ten mały fragment może się zmienić to