Is there any way available to access Session values in AppServiceProvider
? I would like to share session value globally in all views.
Advertisement
Answer
You can’t read session directly from a service provider: in Laravel the session is handled by StartSession
middleware that executes after all the service providers boot phase
If you want to share a session variable with all view, you can use a view composer from your service provider:
JavaScript
x
public function boot()
{
view()->composer('*', function ($view)
{
$view->with('your_var', Session::get('var') );
});
}
The callback passed as the second argument to the composer will be called when the view will be rendered, so the StartSession
will be already executed at that point