![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
W aplikacji oprócz standardowej sesji użytkownika jest tez wybór odpowiedniego zasobu (coś jak w gmail można się przełączać między subkontami).
Zmienna $activeAccess jest mi potrzebna w wielu miejscach, jest to obiekt zawierający istotne szczegóły. Generalnie to działa, korzystam ze sposobu znanego mi z CI - korzystam z BaseControllera po którym dziedziczą kontrolery. I to fajnie działa, w tym kontrolerze mogę też zmienną udostępnić do widoków za pomocą share(). Jest tylko z tym podejściem jeden problem - widoczność zaczyna się i kończy na kontrolerach. Ta zmienna przydałaby się mi się w innych np. w Requests, Middleware'ach, a także w Policies (choć tu ją mogę przekazywać w metodzie za pomocą helpera przykładowo $this->authorize('view', [$resource, $this->activeAccess]);. Teraz np. przy walidacji muszę kombinować i przekazywać to za pomocą ukrytych pól. Wydawało by się, że sesja była dobrym rozwiązaniem ale nie widzę tego, nie lubię takich rzeczy tam pchać, zwłaszcza całych obiektów. Jakieś sugestie na lepsze umiejscowienie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Tzn. nie działa ten "hook". Być, może ten kod daje w złym miejscu, próbuje w AppServiceProvider. Zrobiłem sobie dump w konstruktorze tej nowej klasy dump(rand(0,999)) i póki co wykonuje się 2 razy - w tym moim bazowym kontrolerze i przy walidacji requestu (no i będzie się wykonywał w innych miejscach, gdziekolwiek to dodam przy obsłudze requestu więc chciałbym to zoptymalizować). Chyba mam:
Ten post edytował markonix 28.11.2017, 18:08:19 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 15:14 |