lukasz91
3.07.2011, 13:33:56
Witam,
buduję obecnie CMS oparty na wzorcu MVC i tak teraz zastanawiam się w jaki sposób "przekazać" dane pobrane przez model do szablonu i je wyświetlić. Przychodzi mi tylko do głowy wykorzystanie sesji, ale chyba nie jest to najlepsze rozwiązanie..
Jest kilka rozwiązań:
1. Przekazać sam model.
2. Przekazać tablicę z danymi wyłuskanymi danymi z modelu.
3. Przekazać inny obiekt z danymi z modelu (tzw Data Transfer Object)
lukasz91
3.07.2011, 13:56:26
Ad 2)
Mógłbyś schematycznie pokazać jak to ma wyglądać? Myśłałem by stworzyć funkcje render() w klasie View, która by dołączała odpowidni plik z szablonem graficznym. Tylko problem jak dane przekazać do tego pliku
Najczęściej spotykany jest:
$view->render('szablon', array('var1', $var, 'var2' => $var2));
lub
$view->set('var1', $var1);
$view->set('var2', $var2);
$view->render('szablon');
lukasz91
3.07.2011, 14:22:42
hmm a w render() szablon dołączać za pomocą include czy w jakiś inny sposób?
To zależy. Jeżeli szablon ma być w PHP to jedno z lepszych rozwiązań. Mógłbyś równie dobrze napisać swój język szablonów i wtedy by wyglądałoby to inaczej.
Kwestia tego, czy w twoim widoku będziesz miał wydzielony silnik do szablonów (renderer). Wtedy mógłbyś mieć PhpRenderer, XmlRenderer etc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.