Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mvc] organizacja kodu w aplikacji
Forum PHP.pl > Forum > PHP > Frameworki
aladin07
otoz powoli przechodze w robieniu mojej pierwszej aplikacji ( sam framework nie ma
tutaj znaczenia bo chodzi raczej o model MVC )kolejne etapy
no i okazalo sie ze jeden kontroler juz nie wystarcza ale co dalej Uśmiech

moze od poczatku mam baze danych gdzie przechowuje dane o przesylkach listowych
do tego mam w kontroler i model ( nazwijmy je MAILS ) z metodami CRUD oraz jakies stronnicowanie itp

teraz bede robil kontroler ktory bedzie odpowiedzialny za podobne rzeczy odnosnie np.
odbiorcow tychze przesylek ( beda oni wykorzystani takze w innych miejscach aplikacji
wiec sadze ze zarowno kontroler jak i model sie tu przyda do obslugi osobnej tabeli w bazie danych )
(nazwijmy go RECIVERS)

no ale teraz zastanawia mnie jedna rzecz skoro zarowno w MAILS jak i RECIVERS wykorzystuje sie blizniacze
metody dodawania,usuwania,edycji itd to czy powinno sie starac w jednym,
moze w jakims osobnym kontrolerze i modelu upychac tego typu metody a ich wywolania
wykonywac z odpowiednimi wartosciami argumentow aby odpowiednie dane z odpowiednich tabeli
byly pobierane?
ale z drugiej strony wydaje mi sie ze tutaj doszlo by do niepotrzebnego komplikowania
kodu
tylko czy dublowanie metod w kontrolerze MAILS i RECIVERS ma sens? wybaczcie ale jeszcze kuleje
moje odpowiednie pojmowanie modelu MVC:)

i jeszcze jedno pytanko czy przy nazwijmy to stronie glownej aplikacji powinno sie zastosowac jakis
glowny, nadrzedny kontroler do sterowania cala aplikacja np. potrzebny do wypisania jakis linkow/elementow
zwiazanych z kontrolerami podrzednymi? czy moze jeszcze jakos inaczej?
NorthPole
Cytat(aladin07 @ 25.02.2008, 13:12:15 ) *
no ale teraz zastanawia mnie jedna rzecz skoro zarowno w MAILS jak i RECIVERS wykorzystuje sie blizniacze
metody dodawania,usuwania,edycji itd to czy powinno sie starac w jednym,
moze w jakims osobnym kontrolerze i modelu

Nie wiem w jakim frameworku to piszesz ale dam Ci przykład z Zend Framework. Jest tu klasa Zend_Db_Table która zawiera metody insert update delete. Pisząc modele dla poszczególnych tabel poprostu rozszerzasz tą bazową klasę dodając ewentualnie jakieś specyficzne metody. Nie powielasz więc kodu tylko specjalizujesz swoje modele wedle uznania.

Cytat(aladin07 @ 25.02.2008, 13:12:15 ) *
i jeszcze jedno pytanko czy przy nazwijmy to stronie glownej aplikacji powinno sie zastosowac jakis
glowny, nadrzedny kontroler do sterowania cala aplikacja np. potrzebny do wypisania jakis linkow/elementow
zwiazanych z kontrolerami podrzednymi? czy moze jeszcze jakos inaczej?

Kontrolery - przynajmniej ja to tak rozumiem ;-) kolekcjonują akcje dla tej samej części aplikacji. Napewno powinieneś mieć jakiś główny (index) a pozostałe kontrolery piszesz wedle uznania tak aby grupawać akcje dotyczące tych samych urzyteczności. Jak to grupowanie jest niewystarczające przy większych aplikacjach to są jeszcze moduły (np administracja). Musisz mieć jakiś klarowny podział i na jego podstawie budujesz strukturę witryny.
Oczywiście możesz napisać sobie jakiś nadrzędny kontroler który będziesz rozszerzał (tak jest w ZF - Zend_Controller_Action)

Piszę tak ogolnie bo trudno mi powiedzieć co jeszcze będziesz chciał zrobić.

Pozdrawim
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.