![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 29.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w ramach treningu z SF2 próbuje wyskorbać mały systemik do zarządzania stroną. Jednak po rozpoczęciu prac i już napisaniu trochę rzeczy zaczeła zastanawiać mnie jedna sprawa. Mianowicie chodzi o strukturę budli. Przykładowo załóżmy sobie, że mamy jakiś CMS, który ma Backend i Frontend. Teraz w każdej z tych części będą obsługiwane artykuły, które mogą być umieszczane w kategoriach. Pytanie jak teraz po tworzyć bundle do tego? Mam takich aprę opcji: 1. /MyCMSBundle -/ForntendBundle -/BackendBundle 2. /MyCMSBundle -/ForntendBundle -/ArticleBundle -/CategoryBundle -/BackendBundle -/ArticleBundle -/CategoryBundle 3. /FrontEndBundle /BackendBundle Ewentualnie jakieś inne propozycje? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Organizacja Bundli to zawsze sporny temat, wydaje mi się że nie ma tutaj złotej reguły. Osobiście staram się dzielić bundle zgodnie z faktem czy później będę mógł go wykorzystać czy też nie, dlatego zazwyczaj mam coś w rodzaju:
FrontBundle - funkcjonalność specyficzna dla danego projektu która prawie nigdy nie zostanie ponownie wykorzystana, jednocześnie tutaj znajduje się główny layout który jest rozszerzany, szablony wiadomości e-mail itd. AdminBundle - podobnie jak FrontBundle z tym że dotyczy to panelu administratora. i następnie mam Bundle, które najczęściej powtarzają się we wszystkich projektach np: ContactBundle UserBundle ArticleBundle MessagesBundle W takim przykładowym ArticleBundle mam kontrolery, które są przeznaczone zarówno dla frontu jak i panelu administracyjnego (edycja / dodawanie / usuwanie artykułów itp.) Czy jest to prawidłowe podejście ? nie mam pojęcia, dla mnie jest ono po prostu wygodne. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Organizacja Bundli to zawsze sporny temat, wydaje mi się że nie ma tutaj złotej reguły. Osobiście staram się dzielić bundle zgodnie z faktem czy później będę mógł go wykorzystać czy też nie, dlatego zazwyczaj mam coś w rodzaju: FrontBundle - funkcjonalność specyficzna dla danego projektu która prawie nigdy nie zostanie ponownie wykorzystana, jednocześnie tutaj znajduje się główny layout który jest rozszerzany, szablony wiadomości e-mail itd. AdminBundle - podobnie jak FrontBundle z tym że dotyczy to panelu administratora. i następnie mam Bundle, które najczęściej powtarzają się we wszystkich projektach np: ContactBundle UserBundle ArticleBundle MessagesBundle W takim przykładowym ArticleBundle mam kontrolery, które są przeznaczone zarówno dla frontu jak i panelu administracyjnego (edycja / dodawanie / usuwanie artykułów itp.) Czy jest to prawidłowe podejście ? nie mam pojęcia, dla mnie jest ono po prostu wygodne. Ten pomysł wydaje mi się najlepszy, ale pytanie tylko jak najefektywniej ogarnąć routing? Powiedzmy, że mam moduły, galeria i kontakt na razie, teraz pytanie czy lepiej routing zrobić w jednym miejscu to jest routing.yml czy w adnotacjach w każdym kontrolerze, który wykorzystuje dany moduł. 1) Wrzucam GalleryBundle do projektu i muszę w routing.yml dodać regułę powiedzmy Route: /gallery Controller: GalleryBundle:galleryController:index 2) Wrzucam GalleryBundle do projektu, w adnotacjach mam już zapisane @Route("/gallery"), więc tutaj nie muszę zmieniać tego już dalej, bo automatycznie jest wyłapywane, ale znowu z drugiej strony jak będę chciał mieć powiedzmy @Route("/galeria") lub "/kolekcja", "/portfolio", to za każdym razem muszę edytować kontrolery. W przypadku pkt 1 mam wszystko w jednym miejscu i łatwiej jest coś zmienić. Jakie jest wasze zdanie na ten temat? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 20 Dołączył: 17.01.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ten pomysł wydaje mi się najlepszy, ale pytanie tylko jak najefektywniej ogarnąć routing? Powiedzmy, że mam moduły, galeria i kontakt na razie, teraz pytanie czy lepiej routing zrobić w jednym miejscu to jest routing.yml czy w adnotacjach w każdym kontrolerze, który wykorzystuje dany moduł. 1) Wrzucam GalleryBundle do projektu i muszę w routing.yml dodać regułę powiedzmy Route: /gallery Controller: GalleryBundle:galleryController:index 2) Wrzucam GalleryBundle do projektu, w adnotacjach mam już zapisane @Route("/gallery"), więc tutaj nie muszę zmieniać tego już dalej, bo automatycznie jest wyłapywane, ale znowu z drugiej strony jak będę chciał mieć powiedzmy @Route("/galeria") lub "/kolekcja", "/portfolio", to za każdym razem muszę edytować kontrolery. W przypadku pkt 1 mam wszystko w jednym miejscu i łatwiej jest coś zmienić. Jakie jest wasze zdanie na ten temat? Organizacja bundli taka jak podał: d3ut3r Też wydaje mi się najlepsza. Zawsze robię dwa bundle specyficzne dla projektu : AppBundle(panel) i FrontBundle Pozwolę się podpiąć do tematu, załóżmy, że mam tabelę w bazie, z które będą musiały korzystać dwa bundle, czy w takiej sytuacji bardziej wskazane jest tworzyć dwie encje (jedna na bundla) czy dwie, dla każdego bundla osobno? pozdrawiam! Wszystkie encje dla projektu trzymam w AppBundle i używam ich w FrontBundle. (bundle sa scisle ze sobo powiazane i nigdy nie bede uzywane osobno) Co do twojego pytania i routingu: Rozdzielem prefiksy osobne dla AppBundle i FrontBundle:
A więc używam annotacji w routingu. W praktyce tak wyszło, że zdecydowanie dla mnie użyteczniejsze są annotacje. Tworze nową akcję to odrazu też tworzę routing w jednym miejscu, nie musze wracać do globalnego pliku i tam tworzyć routingu. Każde stworzenie akcji to jest napisanie akcji i modyfikacja pliku z routingiem. Po co ? tak szybko tworzę całość w jednym miejscu. Ten post edytował ziolo 1.08.2014, 08:16:42 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 14:36 |