Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] architektura aplikacji
Foxx
post
Post #1





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


1. Załóżmy, że we frontendzie mam moduły "aktualności" i "artykuły".
Czy jeżeli nie różnią się niczym poza faktem, że aktualności są zwykle nieco krótsze to czy powinienem zrobić jedną tabelę "tekst" z polem mówiącym o typie (aktualność/artykuł) i rozdzielać je na poziomie zapytania SQL czy raczej stworzyć osobne dwie tabele?

2. Załóżmy, że mam we frontendzie moduły "regulamin", "polityka prywatności" i "współpraca" - które są tylko podstronami tekstowymi. Czy powinienem stworzyć dla nich osobne tabele z 1 rekordem ( (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif) ) czy raczej jedną tabelę "tekst" z polem mówiącym o typie tekstu (regulamin/polityka/etc.) ?

3. Załóżmy, że chcę umożliwić userowi konfigurację pewnych elementów strony. Czy powinienem stworzyć tabelę z tyloma polami ile mam parametrów i jednym rekordem czy raczej tabelę z polami "klucz" i "wartość" i z rekordami w ilości równej ilości parametrów, czy może jeszcze coś innego?

4. Skąd czerpiecie tego typu wiedzę na temat prawidłowej architektury aplikacji w sf i nie tylko sf?

Ten post edytował Foxx 12.02.2009, 05:05:43
Go to the top of the page
+Quote Post
Rafal Filipek
post
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

Ostrzeżenie: (0%)
-----


1) zrob 2 osobne "moduły". Nie bedziesz musial kombinowac w modelach itp itd. Poza tym pozwoli ci to na łątwą ewentualną rozbudowę w przyszłości. Od dodatkowej tabeli w bazie jeszcze nikt nie umarł (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
2) Zastanów się czy chcesz aby treści na tych stronach były edytowane czy nie. Bo jak ma być to najzwyklejszy tekst to bym wpakował go do szablonu bezpośrednio i nie bawił się z bazami. Natomiast jeżeli chcesz mieć X stron których treść chcesz potem zmieniać to zrób sobie tabele pages i tam trzymaj wszystkie treści.
3) Zapewne możliwości konfiguracyjne są identyczne dla każdego użytkownika i nie zmieniają się wcale lub bardzo rzadko. W takim przypadku możesz zrobić to na 2 sposoby. Albo dodać pola konfiguracyjne bezpośrednio do tabeli użytkowników albo stworzyć osobną tabelę z konfiguracjami gdzie każdy rekord ma user_id. W 1 przypadku nie będziesz musiał klepąć nic nowego bo konfigurację będziesz miał już w formularzu użytkownika ( co może okazać się niepożądane ). W 2 przypadku rozdzielisz użytkownika od konfiguracji co przy większej ilości parametrów konfiguracyjnych moim zdaniem wydaje się lepszym rozwiązaniem.
Go to the top of the page
+Quote Post
Foxx
post
Post #3





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Ad 3) Użyłem złego słowa, pisząc "user" miałem na myśli administratora systemu. Jeżeli chodziłoby o zwykłego usera to oba Twoje rozwiązania można stosować w zależności o jakich danych i jakiej ich ilości jest mowa - tak jak piszesz. Ale moje pytanie jest bardziej przyziemne (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) Czy tworząc możliwość konfiguracji parametrów systemu (np. możliwość pisania postów przez niezarejestrowanych: off) praktykuje się raczej tabelę klucze -> wartości czy tabelę z 1 rekordem i z polami dla każdej opcji?
Czuję że rozwiązanie z 1 rekordem jest w jakiś sposób nieeleganckie a z drugiej strony klucz+wartość jest takie... niestałe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


1. Jesli rozchodzi sie tylko o 2 moduly - to jak kolega pisze - zrob osobne tabele, bo chyba nie robisz mega uniwersalnego CMSa jak taki EZ gdzie wszystko jest w ... "jednej tabeli"
2. Info strony - 1 tabela, po rekordzie na strone i po problemie, ew. w templatkach edytujesz - jesli ci to wystarcza.

3. Konfiguracja
Cytat
Czy tworząc możliwość konfiguracji parametrów systemu (np. możliwość pisania postów przez niezarejestrowanych: off) praktykuje się raczej tabelę klucze -> wartości czy tabelę z 1 rekordem i z polami dla każdej opcji?

A chcesz zmieniac format tabeli po kazdym dodaniu nowego klucza/wartosci?
I co to jest "takie niestale"? Ja mam u siebie rekordy [nazwa,wartosc] i sie sprawdza (uzywam notacji: 'podsystem.costam.cos' dla nazw,
np. 'forum.posting.unregistered_user_may_post' => zalety: czytelne, zapobiega kolizji nazw)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 17:38