我使用的是Laravel 5.2
。(我是Laravel的新用户)
我需要使用会话。当然,阅读不同路线/页面的会话值。这是一个简单的概念,简单地说:
- 保存路由中的一些会话值
- 从另一个不同的路由检索值
这是我用过的密码。
Route::get('write', function () {
session()->put('food', 'banana');
session()->save();
echo session()->get('food'); // <------ Shows: 'banana'
});
Route::get('read', function () {
echo session()->get('food'); // <------ Shows nothing*
});
- 我错过了什么(或者)塞申斯的正确游戏方式是什么
谢谢大家。
原因是session()->pull()
实际上从会话中提取了一个元素并将其从会话中删除。因此,在/write
打电话后,您的会话中什么都没有。这就是为什么/read
什么都拉不动的原因。
您应该在场景中使用session()->get('food')
,而不是pull
。还要确保您的路由使用web
中间件。
Route::group(['middleware' => ['web']], function () {
Route::get('write', function () {
session()->put('food', 'banana');
echo session()->get('food'); // <------ Shows: 'banana'
});
Route::get('read', function () {
echo session()->get('food'); // <------ Shows 'banana' too
});
});
另请查看官方文件以了解更多信息:https://laravel.com/docs/5.2/session.
在放入或修改内容后使用session()->save()
。
我通常通过立面Session::save()
来完成;
如果没有保存,会话对象将不会知道它。