Czy w modelu mvc w php widok może bezpośrednio pobierać model i z niego korzystać, czy powinien czynić to kontroler- kontroler pobiera model i przekazuje go do widoku.
Pozdrawiam.
To drugie. Widok nie powinien nic pobierać. Ma on po prostu generować HTML, XML, PDF, CSV czy co tam jeszcze chcesz na podstawie danych dostarczonych mu przez kontrolera.
Zasada jest taka że widok ma już dostać gotowe dane w jakiej kolwiek formie, i on decyduje jak ma je wyswietlic.
Kontroler pobiera dane z modelu i przekazuje je do widoku.
Model udostepnia kontrolerowi szereg metod do operacji na bazie danych.
Czyli całą stronę generuje widok? A jak najlepiej rozwiązać sytuację, kiedy w stronie zmienia się tylko zawartość a inne rzeczy jak baner, są takie same cały czas?
tomii napisał(a)
Czyli całą stronę generuje widok? A jak najlepiej rozwiązać sytuację, kiedy w stronie zmienia się tylko zawartość a inne rzeczy jak baner, są takie same cały czas?
- widok moze dolaczac inne widoki - szablony itp
- kontroler moze udostepniac metody i hooki wykonywane przed i po requescie w ktorych mozesz generowac czesci wspolne dla wszystkich akcji
W jaki sposób w takim razie w środku szablonu wstawić zawartość strony? Czy trzeba to zrobić w trakcie generowania strony a nie po wygenerowaniu strony z szablonu?
W jaki sposób w takim razie w środku szablonu wstawić zawartość strony?
Możesz dołączać w widoku inne pliki, na przykład.
Ja widoki robię w oparciu o Smarty, w trakcie generowania jest składana strona wynikowa, widok ma postać na przykład:
{include 'header.tpl'}
// tutaj jakieś rzeczy, wyniki, cokolwiek
{$zmienna_widoku}
{foreach ...}
// generowanie tabelki w widoku
{/foreach}
{/include 'footer.tpl'}
header i footer zawierają wszystkie rzeczy szablonu wyglądu, a widok tylko odpowiada za pewne określone miejsce w szablonie.
A możecie mnie nakierować jak zrobić przyjazne linki w postaci /galera/zdjeceie1? zamiaste ?action=gal&zd=1.
mod_rewrite w serwerze Apache, IIS Rewrite w przypadku IIS7. Przykład użycia: http://www.php.rk.edu.pl/w/p/modrewrite-krotkie-urle/
Plus niektóre frameworki MVC mają od razu ułatwione robienie tego typu rzeczy, tzw. routing, np. w Kohanie jest tak, że w mod_rewrite ustawia się jedno przekierowanie, a resztą już zajmuje się framework.
tomii napisał(a)
A możecie mnie nakierować jak zrobić przyjazne linki w postaci /galera/zdjeceie1? zamiaste ?action=gal&zd=1.
$_SERVER['REQUEST_URI']
reszte sobie sam dopowiedz ;)
Dawno temu, tworzyłem dla siebie taki slinik pod php w oparciu o mvc.
Teraz w sumie tworze w oparciu o niego dość duży projekcik.
Source tutaj: http://www.piotrzegar.pl/p/110/
Zerknij, może ci się spodoba, albo może natknie cie jakimiś pomysłami.
Niestety całą dokumentacja mam aktualnie w głowie, wszelkie pytania mile widziane..