![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 1 Dołączył: 13.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
W jaki sposób we frameworkach MVC są wywoływane domyślne widoki? Tzn. nie pytam o zasady MVC, lecz o kwestię techniczą od strony wnętrza frameworka.
Np. w Zendzie tworzymy sobie najbardziej podstawowy kontroler:
I już na tym etapie Zend wie, że ma wyświetlić zawartość pliku index/index.phtml. Gdzie jest zawarty kod, który to realizuje? Działa to świetnie bo już w akcji można wyłączyć wyświetlenie zarówno layoutu jak i widoku, a nawet wywołać kilka widoków. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tak jest chyba tylko na polskich forach. Na zagranicznych jakbym wyjechał z tekstem "Jak napisać jądro systemu operacyjnego?" to podaliby kilka ciekawych rad i linków. A u nas? "A po co Ci to?" "Zwariowałeś? Nie masz co robić?" Eh... Fakt, temat się trochę rozbujał... Szczerze mówiąc to zadałeś pytanie dość ogólnikowe na przykładzie Zenda (a teraz łapka w górę, kto przeanalizował kod widoków?). Co do linków z przykładami, z tym może być różnie... Zależy co chcesz osiągnąć. Nie zgodziłbym się z tym co napisał Spawnm że MVC != MVP, bo niby dlaczego? MVC jest tak szerokim pojęciem, że każdy je interpretuje jak mu się podoba, MVP to takie MVC tyle tylko żeby określić od razu co robi widok, a co w przypadku gdy mogą być dwa warianty? Mamy FW korzystający ze wzorca MVC czy MVP? Nie, cały czas jest MVC. Ustal pierw czy chcesz, aby widok był automatycznie generowany w akcji jaką wywołujesz. Dla mnie to trochę dziwne, bo kto powiedział że ta akcja musi mieć widok, i dlaczego musi być to akurat nawet index. Jeśli tworzysz kontroler, to zapewne dziedziczy on po czymś (główny kontroler FW lub aplikacji) i w tym czymś tworzy się widok na podstawie nazwy akcji jaka została wywołana. W swoim FW przyjmuję zasadę "używaj czegoś, gdy jest to na prawdę potrzebne", czyli niewiele rzeczy generuje się z automatu. Gdy chce wyświetlić widok, to zwyczajnie to robię przekazując do niego parametry, z nazwą szablonu. Domyślnie, widok jest ustawiony na odbiór, ma tylko odbierać dane z kontrolera i ewentualnie je obrobić w pętli lub z czymś porównać. Taka opcja jest wygodna, bo nie muszę umieszczać w szablonie zbędnego kodu do modeli i samego kodu php, przez co webmaster nie musi narzekać, zresztą napisałem też mini system szablonów, co też się przydaje bo jest jedno spójne API. Zaimplementowałem też opcje która pozwala na używanie w widoku odwołania do modelu, to w zasadzie tylko mała furtka jakby było trzeba zrobić coś na szybko. Nie kojarzę artykułów które by mnie naprowadziły "jak się robi FW", oczywiście, można spotkać coś podobnego jednak co z tego... To Ty piszesz FW, więc na co Ci wiedzieć jak robi to ktoś inny. Wszystkie komponenty FW, głównego rdzenia są dobrze opisane na wikipedii czy wikibooks i nie wzoruj się tylko na rozwiązaniach w PHP. A jak chcesz się czegoś od Nas dowiedzieć, to sprecyzuj dokładniej o co chodzi i jaką masz swoją wizję. ehh przypomniało mi się jak zaczynałem pisać FW... uri, router, boot, spl... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 10:27 |