athabus
18.12.2006, 13:54:12
Witam,
do tej pory stosując mvc miałem zasadę, że nazwą kontrolera jest katalog, a akcją jest klasa w tym katalogu. Czyli np. w katalogu admin jest opcja addProduct i removeProduct itd itp.
Zauważyłem jednak, że większość frameworków ma domyślnie konstrukcję taką, że jest jeden katalog na kontrolery i kontroler to nazwa klasy a akcja to nazwa metody w danym kontrolerze. Oczywiście w tych napisanych z głową wszystko sobie można pozmieniać (co zresztą i tak pewnie zrobię), ale i tak mnie to zastanawia.
I teraz się zaczynam zastanawiać jaka jest "maksymalna" wielkość pliku w php. Oczywiście chodzi mi o "zdroworozsądkową" maksymalną wielkość, czyli taką aby nie powodowało jakiegoś specjalnego spadku wydajności aplikacji.
Oczywiście wiem, że wszystko zależy od serwera itp itd, ale jeśli np. w kontrolerze mam 10 akcji, każda po +/- 200 linii kodu to daje mi to np. 2000 linii - czy to jest dużo?
acztery
18.12.2006, 14:02:57
mi sie wydaje ze to ani nie duzo ani nie malo widzialem klasy co maja po 3,5 tys
Sh4dow
18.12.2006, 14:06:58
ja raczej nie przekraczam 1000 lini na klase(srednia wychodzi okolo 500-600 lini), ale chociaz zdazaja sie takie po 2 albo 3 tys.
dr_bonzo
18.12.2006, 14:18:35
Moze czesc kodu da sie wrzucic do modelu, unikniesz tez duplikowania kodu
athabus
18.12.2006, 14:25:53
To prawda, że są takie klasy z 3k linii.
W takim razie może problem ugryzę z innej strony - kontroler laduje sie zawsze... i pytanie czy jest to dobra praktyka aby kontrolery miały aż tak dużo kodu, który jest wykorzystywany w małym stopniu ->np. 1 akcja z 10. Przy zwykłej klasie często trudno jest sensownie ją podzielić. W kontrolerze bardzo często występują niepowiązane metody i można je w miarę łatwo odseparować od siebie. Jakie jest zatem uzasadnienie aby wszystkie akcje ładować do jednej klasy? Oczywiście mowa jest tu o większych aplikacjach nie prostych stronach, gdzie sumarycznie ilość kodu do przetworzenia jest niewielka.
dr_bonzo - w sumie nie chodzi mi o konkretną sytuację tylko o idee. Na pewno warto przerzucić co się da do modelu, tak aby kontroller wykonywał tylko sterowanie a nie wdawał się w szegóły pojedynczych operacji.
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.