Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MVC]Widok, założenie
Forum PHP.pl > Forum > PHP
daniel1302
Witam, wczoraj przeglądając artykuły dot frameworków i budowę frameworków natchnąłem się na mały problemik.

Mam obiekty
1)View- implementacja elementu MVC. Odpowiada ona za otwarcie odpowiedniego rendera i przekazanie mu danych(zmiennych) oraz ustawieniami np folder itp.
Klasa jest jedna, czyli każdy kontroler korzysta z niej.
2)Render- Render jest osobny dla szablonów HTML, PDF czy XML. Klasa ta otwiera odpowiedni plik i przekazuje mu zmienne otrzymane od klasy widoku.

W każdym praktycznie tutorialu widzę, cyt. "Widok(element MVC) to nie system szablonów..." ale w każdym przykładzie aplikacji jaka jest dołączona do frameworka jest to zrobione tak:
Kontroler otwiera klasę widoku w która automatycznie otwiera plik HTML/PHP czyli automatycznie narzuca typ prezentacji.


I czy moja implementacja MVC jest słuszna czy nie? Co myślicie o sposobach Frameworków(Kohana, CI).
-=Peter=-
No nie do końca narzuca typ prezentacji, bo wykorzystanie szablonu o rozszerzeniu *.php/*.tpl/*.html nie jest równoznaczne z tym, że widok będzie kodem html - może być dokumentem xml, json, txt, czy pdf itp. Przykładowo w "szablonie" mogą znajdować się reguły tworzące dokument pdf, które zostają odpowiednio wykorzystane przez widok do wygenerowania prezentacji (np. w najprostszym przypadku zaincludowane w odpowiednim miejscu metody renderującej).

Myślę że Twoja implementacja widoku w mvc jest podobna do tej co jest w znanych mi frameworkach (symfony, zf). Swoją drogą pozostaje kwestia, czy ta interpretacja wzorca mvc jest prawidłowa - są podzielone zdania na ten temat, ale jak wiadomo wzorce projektowe nie są sztywną regułą, mają wiele implementacji winksmiley.jpg
erix
Cytat
2)Render- Render jest osobny dla szablonów HTML, PDF czy XML. Klasa ta otwiera odpowiedni plik i przekazuje mu zmienne otrzymane od klasy widoku.

Hmm, raczej pasowałoby tu IMHO coś w stylu layoutu (odpowiednik z wiodących frameworków).
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.