daniel1302
22.11.2016, 08:31:20
Hej, mam taki problem, jestem na etapie projektowania systemu CMS, aby nauczyć się dobrze Symfony.
Chcę umieścić takie moduły:
System artukułów - ArticleBundle
System obsługi użytkowników - UserBundle
System testów(pytania zamknięte) - QuestionnaireBundle
Ogólnie taki podział nie jest dla mnie problem. Ale chciałbym dodać do tego moduł kategorii.
Kategorie będą normalnym drzewkiem.
Chciałbym mieć podobne ale NIE TAKIE SAME kategorie w artykułach i w testach. Jakbyście zrobili taki podział?
1) Czy lepiej jest zrobić osobny lib do kategorii i używać go czy może też jako Bundle?
Dodam też, że chciałbym zrobić taki system w którym mogę odłączać poszczególne Bundle.
Chciałem zrobić tak, że każdy Bundle jest rozszeżeniem- wtyczką.
2) Czy lepiej mieć dwie tabelki z kategoriami czy jakąś flagę (np: module TINYINT(3)) która określa która kategoria jest do którego modułu?
Palnuję zrobić tabelki wiążące dla każdego bundle, bo i artykuły i testy będą mogły należeć do kilku kategorii.
rad11
22.11.2016, 08:35:48
1. Skoro chcesz aby bundle były rozszerzeniami to wydaje mi się, że odpowiedziałeś sobie sam na to pytanie. Tak w takim wypadku lepiej mieć utworzony Bundle do tego.
2. Według mnie lepiej mieć dwie tabele do tego co będzie bardziej elastyczne i czytelne.
Pilsener
22.11.2016, 08:38:23
Bundle to nie moduł. Bundle należy traktować jako oddzielną aplikację/bibliotekę/rozszerzenie a idea bundli jest taka, żeby łatwo można było współdzielić komponenty choćby przy pomocy composera czy githuba.
Każdy bundle może mieć własną konfigurację, routing, bazę danych itd.
Jak dobrze pamiętam, to Symfony najpierw zalecało tworzenie bundli w ramach aplikacji, ale ponieważ ludzie to źle rozumieli to wycofali się z tego.
Pyton_000
22.11.2016, 10:13:48
Tak, Bundle to jest coś co wyrywasz z ekosystemu, przenosisz do iinnego odpalasz i działa.
daniel1302
22.11.2016, 10:35:45
A jak rozwiazalibyście instalowani i usuwanie rozszerzeń z takieco CMS'a?
Widziałem strukturę Drupala i on ma taka strukture
|
|-module1
|-Controllers
|-Entity
|-views
|-module2
|-Controllers
|-Entity
|-views
|-module3
|-Controllers
|-Entity
|-views
Poprostu uczę się dobrych praktyk w Symfony i chciałbym poznać wasze opinie.
lukaskolista
24.11.2016, 11:09:46
Rozszerzenie do CMS powinno być Bundlem, o ile ten CMS jest w Symfony.
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.