![]() |
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 ![]() 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 ![]() Pozdrawiam |