31-03-2010, 07:12
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
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