Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][Symfony][Symfony2] Czy zarejestrować klasę jako service?
404
post
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:
  1. $navigationMenu = new NavigationMenu();
  2. // ...
  3. for(/* ... */) {
  4. $navigationMenuItem = new NavigationMenuItem();
  5. $navigationMenuItem->setTitle($data['title']);
  6.  
  7. $items[] = $navigationMenuItem;
  8. }
  9. // ...
  10. $navigationMenu->setItems($items);
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:
  1. $navigationMenu = $this->container->get('navigation_menu');
  2. // ...
  3. for(/* ... */) {
  4. $navigationMenuItem = $this->container->get('navigation_menu_item');
  5. $navigationMenuItem->setTitle($data['title']);
  6.  
  7. $items[] = $navigationMenuItem;
  8. }
  9. // ...
  10. $navigationMenu->setItems($items);

Dodam, iż te klasy nie będą wykorzystywane w żadnym innym bundle.

Ten post edytował 404 9.09.2014, 19:33:01
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 21.08.2025 - 02:53