![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 24.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, postanowiłem trochę pobawić się w PHP obiektowo, przyszedł czas na MVC i o ile z modelem i widokiem raczej problemów nie mam to nie wiem jak poprawnie zrobić kontroler.
Mam stronę z: - show.php - edit.php - add.php - admin.php Normalnie to na początku wyświetlałem index.php, no i potem linkami, ale to to nie jest kontroler, więc jak to rozegrać? Na stronie index.php mam wywołać klasę kontrolera? A jak potem w tym pliku kontrolera to zrobić? Przejrzałem kilka frameworkow, ale to mi jeszcze bardziej namieszało, więc prosiłbym o takie najprostsze naprowadzenie jakby to miało wyglądać. Pozdrawiam! (IMG:style_emoticons/default/smile.gif) Ten post edytował snaers 24.03.2011, 22:39:54 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Lukaskolista... Dobrze, że zastrzegłeś o tym MVC i że nie twierdzisz tego bo by Cię tu zagryźli pewnie ortodoksi (IMG:style_emoticons/default/wink.gif) K2 implementuje MVP, a K3 HMVC(P). Niestety ale pełna implementacja MVC w środowisku web nie jest możliwa z powodu samej architektury. protokół bezstanowy, kounikacja jako żądanie. To wszystko uniemożliwia prawidłową implementację tego wzorca w sieci web.
Co do kodu to zależy jak leży. Ja w modelu obrabiam dane, bo to jego działka. Kontroler ma sterować a widok wyświetlać. Jeśli dla zmiany widoku konieczne byłoby znaczne kombinowanie z przebudową kontrolera - podziękuję. Przykład? Masz wyświetlić strone jako html... Fajnie. Wysyłasz żądanie do modelu by Ci to dał,potem ustawiasz widok, obrabiasz w kontrolerze dane modelu i... nadchodzi konieczność generowania strony jako pdf. Tworzysz kolejny kontroler bo obecny sie do tego nie nadaje z racji przejęcia części zadań modelu? Źle. Musisz maksymalnie odseparować te działania. Model ma już zwrócić uniwersalne, przetworzone dane a kontroler ma je tylko do widoku pchnąć. Kontroler powinien jedynie albo zmienić widok z html na pdf, albo sam widok powinien się połapać, że ma ustawić inny nagłówek i nieco inaczej dane potraktować. To jest właśnie prawidłowy schemat działania, a nie robienie wszystkiego w kontrolerze. Kohana na to pozwala, ale nie oznacza to automatycznie, że jest to prawidłowa implementacja wzorca. Zwyczajnie została tak napisana, że możesz wszystko zrobić kontrolerem, bez odwoływania się do modelu lub widoku. A to nie jest prawidłowe w żadnym wypadku. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 19:51 |