Mam taki problem. Nigdzie nie moge doczytac czy wzorzec MVC bierze cos takiego pod uwage, jak kilka modeli i widokow? Wiem, ze kontrolerow moze byc kilka. A co z modelami i widokami? I jak to zakodowac obietkowo?
Problem: na podstawie url: index.php?akcja=newsy kontroler wybiera model Newsy, w ktorym pobierane sa wiadomosci z bazy danych. Nastepnie zostaja przeslane do dwoch widokow. Pierwszy to widok 'xml', ktory w ktorym generuje plik kanalu rss, a drugi widok to 'http', ktory uruchamia szablon Smarty z newsami.
Jak to zakodowac obiektowo? Czy tak jak zademonstrowalem to ponizej?
<?php index.php?akcja=newsy class Kontroler { public $akcja; public $model; public $view; public constructor($a) { $this->akcja = $a; } public model($typ) { // typ = mysql, xml $nazwa_klasy = 'Model'.$this->akcja; return $dane = new $nazwa_klasy($sekcja); } public widok($typ) { // typ = html, xml $nazwa_klasy = 'Model'.$this->akcja; return $dane = new $nazwa_klasy($typ, $dane = $this->model); } } $mvc = new Kontroler($_GET['a']); $mvc->widok(xml); $mvc->widok(html); ?>

poprawiam
trzecie upomnienie. za czwartym będzie ostrzeżenie
---
nospor
I od razu nasuwaja sie pytania:
1. Jak zrobic, aby liczba widokow byla generowana dynamicznie (nie zawsze beda 2 widoki, moze byc 1,2,3 lub wiecej widokow)
2. Jak skonstruowac klase akcji?
3. Czy jedna akcja to pobranie modelu i przkazanie go widokowi? A raczej, to widok sobie pobiera model.
4. Co z danymi przeslanymi z formularza? Trafia do modelu i zostaje dopisane do bazy danych lub pliku xml; widok nie jest potrzebny.