Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] architektura aplikacji
Forum PHP.pl > Forum > PHP > Frameworki
Foxx
Witajcie. Rozpoczynam pracę nad stroną i mam problem z ustaleniem odpowiedniej architektury.
Będę naprawdę wdzięczny za wszystkie sugestie.
Strona nie jest może bardzo skomplikowana, ale wymaga trochę pracy koncepcyjnej.

Strona składa się tak naprawdę z trzech różnych stron o różnej grafice - zamierzam zrobić
dla każdej osobną aplikację i wygenerować dla nich jeden wspólny panel administracyjny.
Pytanie 1: czy jest to dobry pomysł (wspólny admin)? Nie robiłem wcześniej trzech aplikacji
w Symfony w 1 projekcie i nie wiem czy generowanie wspólnego panelu dla wszystkich jest praktykowane i
czy nie będzie z tym problemów zważywszy na to, że przynajmniej jedna z tych aplikacji
będzie dosyć złożona. Czy w takim wspólnym adminie można łatwo wybrać którą aplikacją chce
się zarządzać?

Teraz zajmuję się tylko jedną z tych aplikacji, najbardziej złożoną. Ta strona dzieli
się na trzy główne działy, powiedzmy "dla mężczyzn", "dla kobiet" i "dla dzieci".
Każdy dział ma inne pozycje-sekcje w głównym menu (zgodnie z projektem) ale niektóre sekcje
będą bardzo podobne we wszystkich działach, niektóre będą nawet takie same (albo wręcz te same).

Sekcji w głównym menu będzie około 7 - 10 w zależności od wybranego działu. Na przykład
"archiwum", "newsy", "partnerzy". Po wybraniu sekcji z menu pojawia się poniżej menu
ostatniego poziomu, czyli w sumie trzecie w obrębie tej aplikacji.

I tak na przykład sekcja "archiwum" dzieli się na trzy hm... podsekcje - "o poprzednich edycjach",
"archiwum werdyktów" i "zdjęcia".
Część z tych podsekcji będzie stronami tekstowymi edytowanymi za pomocą np. FCK a niektóre
będą bardziej złożone. Na przykład "o poprzednich edycjach" może być jedną podstroną tekstową,
ale "archiwum werdyktów" wymagać dodawania w panelu administracyjnym osobno każdego
werdyktu do bazy i wyświetlania w postaci stronicowanej listy, etc. A więc w tym przypadku
każdy werdykt będzie obiektem. Podobnie z newsami. Decyzje co ma być jak zbudowane należą
do mnie, ale oczywiście ma być wygodnie dla klienta.

Posumowując:
Menu 1. poziomu: "dla mężczyzn", "dla kobiet", "dla dzieci".
"dla mężczyzn" -> Menu 2. poziomu: "archiwum", "newsy", "partnerzy", i kilka innych.
"archiwum" -> Menu 3. poziomu: "o poprzednich edycjach", "archiwum werdyktów", "zdjęcia".

Do tego wszystkiego będzie kilka działów takich jak "kontakt", itp.

Pytanie 2. główne: co tu powinno być modułem?
Na pewno nie pierwszy poziom czyli "dla mężczyzn", "dla kobiet", "dla dzieci" bo cóż to
za moduły. Drugi poziom jest lepszy, ale tak jak powiedziałem, na przykład w obu działach
"dla mężczyzn", "dla kobiet" mogą być sekcje "archiwum" ale mogą być zupełnie inne i dotyczyć
czegoś innego. Ostatni poziom podsekcji też nie jest dobrym kandydatem do bezpośredniego przełożenia na
moduły bo niektóre z tych podsekcji to pojedyncze strony tekstowe.

Rozumiem więc, że być może w ogóle nie powinienem się sugerować tym podziałem funkcjonalnym -
czym w takim razie? Może powinienem wyodrębnić wszystkie zwykłe strony tekstowe i zrobić
z nich moduł "artykuł" a następnie wszystko co pozostanie powinno być osobnymi modułami?

Tak jak powiedziałem, będę wdzięczny jeżeli ktoś przeczyta tego przydługiego posta i coś
mi zasugeruje smile.gif Z góry dzięki.

Jeszcze dodam, że to jest w sumie pytanie o filozofię: czy mnożyć moduły, robić osobny moduł dla wszystkiego co tylko się trochę różni lub może różnić, czy właśnie minimalizować liczbę modułów i starać się załatwiać wszystkie różnice za pomocą różnych szablonów?
krowal
Z tym podziałem na trzy app to mocno nietrafiony pomysł, szczególnie jeśli moduły w nich będą takie same lub podobne, na twoim miejscu zrobiłbym po prostu oddzielne layouty dla każdego z trzech działów głównych. A moduły rozwiązał bym jakoś tak:
- newsy
- static (strony statyczne)
- werdykty
- galeria (strony galerii, jakieś partiale do pokazania przy newsach itp)
- artykuły (jeśli potrzebujesz)

Do każdego modułu możesz sobie dodać akcję archiwum która pokaże Ci np starsze newsy, werdykty lub artykuły. W modelach musiałbyś też ustalić do którego działu należą (man, woman, kid), w adminie przy dodawaniu mógłbyś sobie wtedy ustalać do czego przypiąć nowy rekord itp.

pozdr.
Foxx
Dzięki za sugestie.
Jeżeli chodzi o te trzy aplikacje, to one nie mają wspólnych modułów, o wspólnych modułach dla trzech działów pisałem już w kontekście jednej z trzech aplikacji. Ale masz rację, jeżeli okażą się podobne to spróbuję zrobić tylko jedną aplikację.
phpion
Może ten topic w czymś Ci pomoże. Wygląda mi to na bardzo podobny problem.
Foxx
Dzięki, mniej więcej mi się wyklarowała struktura po waszych postach, po dłuższej analizie specyfikacji i po dopracowaniu modelu. Pozdrawiam.
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.