![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 10 Dołączył: 13.02.2007 Skąd: Rybnik Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Ciągle zastanawiam się, czy dobrze interpretuję zasadę MVC. Chciałem napisać coś takiego: KONTROLLER: Index.Controller.php: Pobiera $_GET['view'] i zwraca $this -> setView():
Następnie MODEL pobiera dane z mysql z danego projektu i zwraca:
W ostateczności Widok pobiera wszystko i generuje HTML:
Męczy mnie także pytanie, jak to wszystko połączyć, zeby działało? Chodzi o większą ilość widoków, lub modeli. Proszę mnie nie odsyłać do artykułów, bo z nich nic się (niestety) nie można dowiedzieć. Pozdrawiam, Matix: ) Ten post edytował matix 25.05.2007, 22:03:54 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 3 Dołączył: 6.07.2006 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Kod odbierajacy i filtrujacy dane z POST/GET (i wszelkie dane pochodzace od użytkownika) powinien znajdować się w metodach kontrolera, bardzo esencjonalnie zasady konstrukcji wzorca MVC podał ActivePlayer.
Polecam lekture dokumentacji Zend Framefork-a - kopalnia wiedzy o wzorcach i OOP. Źle natomiast zrozumiałeś zastosowanie metod statycznych. Nie ma powodu by Twoja metoda _set() była statyczna. Jej statyczne wykorzystanie i tak nie będzie mozliwe bo odnosi się do pól obiektu. Metody statyczne wywolywane są bez tworzenia obiektu, nie mogą więc odwolywać się do jego pól. Opisując Ci sposób tworzenia metody statycznej chcialem powiedzieć że statyczne wywolanie self::setView(); było niepotrzebne i gdyby setView() odnosiło się do pól klasy jej działanie okazać by się moglo inne niż oczekiwane. W tym konkretnym przypadku zamiast powinno być to wszystko. Konstrukcja:
Nie bedzie mogla być wywolywana statycznie, poza tym jest to bezzasadne. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 09:32 |