Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
MVC - jak zadania rozłożyć na klasy i metody - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: MVC - jak zadania rozłożyć na klasy i metody (/thread-mvc-jak-zadania-rozlozyc-na-klasy-i-metody)



MVC - jak zadania rozłożyć na klasy i metody - bor1904 - 31-03-2010

Witam
Jestem w trakcie realizacji mojej pierwszej aplikacji w PHP opartej o MVC.

Można powiedzieć, że opieram się o szkielet szkieletu TinyMVC - ale zmodyfikowałem go nieco .... i zaczynam mieć wyrzuty sumienia Sad


Problem jest chyba w tym, że to jest na tyle prosta aplikacja (panel zarządzający firewallem na Linuxie), że staram się na siłe coś urozmaicać a tu wszystko to 3 klasy na krzyż i w każdej po 1-2 metody :/

Czy może być tak, że zrobiłem sobie 3 klasy modelu:
-taka która zna polecenia ssh ( łączy mnie, autoryzuje, obsługuje błędy i oferuje kilka metod typu: wyświetl coś z systemu, czy zrób coś w systemie - ale nie ma żadnych konkretnych metod typu "weź plik A, przenieś go do folderu B i usuń folder C)
-taka która obsługuje sqlite ( łączenie z bazą , błędy, kilka podstawowych metod, rozłączanie w destruktorze)
-taka która obsługuje pliki (sprawdzenie praw, zapis, odczyt, obsługa błędów)

Po jednej klasie kontrolera akcji na każdą zakładkę np: statystyki ruchu, reguły firewalla, użytkownicy itd)

Widokiem natomiast zajmuje się u mnie smarty.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Mam wrażenie, że za dużo robią kontrolery, a za mało model ....
(wiem, że teoria mówi, aby np jedna klasa modelu obsługiwała jedną tabelę lub zespół tabel w BD... ale ja będę miał pewnie z 3 tab w bazie i to cala aplikacja)

Czy mogę zrobić tak, że wchodzę na jakąś zakładkę i wołam AC tej zakładki z domyślną metodą "index", która zawsze w mojej aplikacji pobiera jakieś dane z systemu bądz bazy i każe wyświetlić w smarty.
To co zostało wyświetlone to np lista userów, która od razu posiada modyfikowalne pola i linki oraz przyciski formularza.
Klikam np na link href=/users/delete i wołam ten sam AC-users i jego metode "delete" --- teraz czy mogę w metodzie delete zmodyfikować bazę i odwołać się $this-> do domyślnej metody "index", która pobierze dane z BD i wyświetli je już w zmodyfikowanej postaci czy poprostu metoda delete powinna przygotowywać widok do wyświetlenia ?


Będę bardzo wdzięczny za pomoc Rolleyes
Pozdrawiam