我正在开发一个Laravel项目。我正在使用Laravel 5.1。在我的项目中,我以这种方式在appServiceProvider
的引导方法中共享数据到所有视图。
function boot()
{
$items = $this->itemRepo->getItems(session("key"));
view()->share('items', array('items'=>$items));
}
但会话值始终为null。我在网上看了很多文章。但他们没有工作。所以我怎么能把我的会话价值传递给那里?
我认为你的问题在下面的Laravel 5 session data is not accessible in the app boot process帖子中回答,你应该使用像Taylor Otwell这样的中间件在Add event for session started conversation说没有会话,因为没有HTTP请求。
希望这可以帮助。
这可能是一个老帖子,但我遇到了同样的问题,所以让我在这里发布我的解决方案,只是因为有人需要它。
public function boot()
{
view()->composer('*', function ($view)
{
$view->with('your_var', \Session::get('var') );
});
}