Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Automatyczne pobieranie kategorii
Forum PHP.pl > Forum > PHP > Frameworki
PawelC
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?
Pilsener
Można to zrobić na wiele sposobów:
- dodać twig extension
- dodać warstwę abstrakcji do kontrolera
- dodać globalny serwis do twiga:
  1. twig:
  2. globals:
  3. my_service: "@my.service"

- podpiąć się pod odpowiedni event frameworka (użyć wzorca obserwator)
  1. my_service:
  2. tags:
  3. - {name: kernel.event_listener, event: kernel.request, method: onKernelRequest}
PawelC
Zrobiłem tak https://symfony.com/doc/current/templating/...ontrollers.html
Pilsener
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.