![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam wiele różnych akcji w kontrolerze, które traktuje jak komponenty w sf1. wywołuje je z poziomu twiga.
Jak "najlepiej" udostępnić dla każdej akcji obiekt $menuObj, tak żeby nie szło zapytanie do bazy za każdym razem (IMG:style_emoticons/default/questionmark.gif) Dodam, że korzystam z dwóch kontrolerów: jeden głowny który odpala strony, a drugi powyższy. Akcja w pierwszym odpala się pierwsza i może pobierać obiekty...Chcę tylko, żeby drugi kontroler widział obiekty, wygenerowane przez pierwszy... lub za pomocą jakiegoś serwisu je pobierał... Ktoś wie co z tym zrobić? Może przez sesję....chociaż serializowanie encji to nienajlepszy pomysł..... Ten post edytował blackroger 30.04.2013, 12:28:20 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok...Dzięki.
Dobra po spędzonej nocce udało mi się rozwiązać problem. Piszę dla potomnych. Symfony 2 w serwisach tworzy automatycznie instancje typu singletone. Utworzyłem zwyczajną klasę serwisową:
W celu uniknięcia ciągłych zapytań przy wywołaniu getMenu trzeba zablokować wywołanie całej metody getMenu w przypadku, gdy $this->menuObj już istnieje. Poniższy warunek to załatwia.
W ten sposób mamy ogólnodostępny obiekt encji, którego zapytanie do bazy wykona się tylko raz niezależnie od liczby pobrań. Ten post edytował blackroger 1.05.2013, 11:48:49 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 23:01 |