![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam następujący problem, mam szablon layout.html.twig który jest wczytywany wszędzie, w nim mam menu z kategoriami pobranymi z bazy danych, i teraz moje pytanie jak zrobić, aby w każdym kontrolerze z automatu wczytać listę kategorii z bazy, zamiast za każdym razem pobierać repozytorium kategorii i z niego wszystkie kategorie. Od dłuższego czasu pracuję w Symfony, ale tworzę API bez widoków, stąd ten problem. Ogólnie chciałbym aby po wczytaniu layout.html.twig pobrała się lista kategorii bez mojej ingerencji, z pominięciem wczytywania w każdej akcji kontrolera tej listy. Jakieś pomysły? Ten post edytował PawelC 11.11.2018, 17:50:48 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Można to zrobić na wiele sposobów:
- dodać twig extension - dodać warstwę abstrakcji do kontrolera - dodać globalny serwis do twiga:
- podpiąć się pod odpowiedni event frameworka (użyć wzorca obserwator)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Można tak robić, podobnie działa esi:
https://symfony.com/doc/current/http_cache/esi.html Tylko tworzenie sub-requestów nie jest najlepszym pomysłem (zwłaszcza jeśli używamy starszych wersji frameworka, gdzie nie jest to zoptymalizowane) z wielu powodów. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 22:53 |