![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 25 Dołączył: 22.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w AdministrationBundle mam 3 klasy: NavigationMenu, NavigationMenuItem i NavigationMenuLoader. Klasa NavigationMenuLoader odpowiada za ładowanie menu z pliku YAML. Podczas parsowania tego pliku tworzy obiekty NavigationMenu i NavigationMenuItem. Mniej więcej wygląda to tak: Zastanawiam się, czy powinienem te klasy rejestrować jako usługi. Gdybym tak zrobił musiałbym ustawić ich scope na prototype, a do NavigationMenuLoader przekazać container i odwoływać się na zasadzie:
Dodam, iż te klasy nie będą wykorzystywane w żadnym innym bundle. Ten post edytował 404 9.09.2014, 19:33:01 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 2 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zależy po co chcesz te serwisy. Jeśli to sztuka dla sztuki, to zostawiłbym tak jak jest, przynajmniej dopóki te klasy nie mają jakiś zależności, które trzeba im wstrzyknąć. Natomiast na pewno taka zmiana sprawiłaby, że ten kod byłby łatwiejszy do ogarnięcia testami unitowymi. W takim przypadku jednak nie wstrzykiwałbym całego containera. Navigation Menu spokojnie możesz dać w jednym egzemplarzu, zaś jeśli chodzi o itemy, to chyba zastosowałbym tu fabrykę, która byłaby zarejstrowana jako serwis i za każdym razem zwracałaby Ci nowy egzemplarz itema - bo zapewne o to Ci chodzi (IMG:style_emoticons/default/smile.gif) .
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 21:03 |