![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Prośba o pomoc.
mam zdefiniowany dodatek w services:
Jak zrobić aby metoda setTranslatableLocale dostawała parametr z sesyjnego getLocale? Teraz parametr jest pobierany bezpośrednio z parametrs.ini, a ja chcę aby tam trafiała wartość z sesji... Przy wielojęzyczności zmiany krajów powinny być transparentne dla systemu i wiem, że można sobie uruchamiać setTranslatableLocale w kontrolerze, ale mi chodzi o automat i service container. Ten post edytował blackroger 29.03.2013, 13:00:55 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ próbujesz odwołać się do usługi request w momencie gdy nie jest ona dostępna. Wywołanie akcji z poziomu konsoli nie tworzy usługi request, nie tworzy w ogóle całego zasięgu request. Co musisz zrobić? Przed zwróceniem usługi request z poziomu RequestInjectora, sprawdź czy zasięg (scope) request jest w ogóle dostępny i aktywny przy pomocy ContainerInterface::isScopeActive().
Co zrobić w przypadku gdy nie jest? Metoda getLocale() może z powodzeniem zwrócić parametr default_locale, zaś metoda getRequest() powinna zwrócić NULL. Tutaj trzeba od razu zwrócić uwagę, że w przypadku gdy istnieje możliwość, że zamiast jakiejś usługi zostanie zwrócony NULL w definicji usługi korzystającej z owej niepewnej zależości powinno dodać się onInvalidReference=ignore. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 17:54 |