Czy jest jakiś sposób dostępu do wartości sesji w AppServiceProvider
? Chciałbym podzielić się wartością sesji na całym świecie we wszystkich widokach.Laravel: Jak uzyskać dostęp do wartości sesji w AppServiceProvider?
Odpowiedz
Nie można odczytać sesji bezpośrednio od usługodawcy: w laravel sesja jest obsługiwana przez StartSession
middleware, który wykonuje po wszystkich usługodawców fazie rozruchowej
Jeśli chcesz podzielić zmiennej sesji z wszystkimi widzenia można użyć view composer od usługodawcy:
public function boot()
{
view()->composer('*', function ($view)
{
$view->with('your_var', \Session::get('var'));
});
}
przekazany jako drugi argument do kompozytora zwrotna zostanie wywołana gdy widok zostanie wygenerowana, więc StartSession
będą już wykonywane w tym momencie
Poniższe działa dla mnie na Laravel 5.2, czy powoduje błędy w Twojej aplikacji?
AppServiceProvider.php
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
\Session::put('lang', 'en_US');
view()->share('lang', \Session::get('lang', 'de_DE'));
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
home.blade.php
<h1>{{$lang}}</h1>
napis "pl" w przeglądarce.
\ sesja nie działa, uzyskanie pustych wyników, np próbowałem to 'print_r (\ Session :: wszystkie());' żadnych wyników – Qazi
@Kaloyan: jesteś na pewno nie ustawiasz zmiennej gdzieś indziej? Nie sądzę, że możesz uzyskać dostęp do sesji od usługodawcy, ponieważ jest on uruchomiony w oprogramowaniu pośredniczącym – Moppo
@Moppo, tak, nie ustawiam tego nigdzie indziej, może to coś zmieniło się pomiędzy 5.1 a 5.2? –
- 1. Jak uzyskać dostęp do sesji w webmethod?
- 2. jak uzyskać dostęp do wartości chronionych tablic?
- 3. Jak uzyskać dostęp do sesji w pliku .ashx?
- 4. ASP.NET: Jak uzyskać dostęp do sesji z obsługi?
- 5. Jak uzyskać dostęp do zmiennej sesji w kontrolerze
- 6. Jak uzyskać dostęp do zmiennych laravel .env w javascript?
- 7. Jak uzyskać dostęp do sesji z testu integracji Rails?
- 8. Jak uzyskać dostęp do sesji z klasy Java
- 9. Jak uzyskać listę wszystkich sesji serwera w laravel?
- 10. Jak uzyskać dostęp do wartości utworzonych przez serializeArray w JQuery?
- 11. Jak uzyskać dostęp do moich wartości formularza w document.ready
- 12. Jak uzyskać dostęp do wartości @attr w JSON z jQuery
- 13. Jak uzyskać dostęp do wartości przycisku przesyłania formularza w Django?
- 14. Jak uzyskać dostęp do wartości kwerendy SQL() w programie Java
- 15. Jak uzyskać bezpośredni dostęp do wartości [[ValueValue]] w JavaScript
- 16. Groovy: Jak uzyskać dostęp do wartości już ustawionych w DataSource
- 17. Dlaczego WebMethod może uzyskać dostęp do stanu sesji bez EnableSessionState?
- 18. Dostęp do zmiennej sesji z modułu HTTP
- 19. Dostęp do sesji z szablonu TWIG
- 20. Sterowniki sesji Laravel?
- 21. Jak uzyskać dostęp do wartości zmiennej C# na stronie .aspx?
- 22. Jak uzyskać dostęp do zwracanej wartości śledzonej funkcji?
- 23. Jak uzyskać dostęp do wartości zmiennej lokalnej z drzewa wyrażeń
- 24. Jak uzyskać dostęp do wartości ASPxTextBox z JavaScript
- 25. Jak uzyskać dostęp do wartości kontrolki użytkownika ze strony?
- 26. Jak uzyskać dostęp do RouteTable.Routes.MapHttpRoute?
- 27. Jak uzyskać dostęp do aplikacji?
- 28. Jak uzyskać dostęp do GetGlobalResourceObject()
- 29. Jak programowo uzyskać dostęp do hierarchii WordNet?
- 30. Dostęp do obrazów w folderze publicznym w języku laravel
proszę sprawdzić moje zaktualizowaną odpowiedź – Moppo
@Moppo to działa Dzięki – Qazi