Session的使用

目录

保存项目

在Session中存储项目时调用Session类的put方法:

Session::put('name', 'Taylor');

第一个参数是Session项目的键(key), 你会使用这个键(key)来检索项目. 第二个参数是Session项目的值(value).

flash方法会存储在session中一个临时的值, 这个值将会在下一个请求时过期. 它通常用于存储临时数据, 如状态或错误消息等:

Session::flash('status', 'Welcome Back!');

检索项目

你可以使用Session类的get方法来检索Session中的任何项目, 包括flash方法存入的数据. 传入要检索项目的键就好:

$name = Session::get('name');

默认情况下, 如果session的项目不存在将返回null. 然而, 你可以向get方法的第二个参数传入默认值来返回:

$name = Session::get('name', 'Fred');

$name = Session::get('name', function() {return 'Fred';});

现在, 如果在Session中不存在的"name"项, "Fred"将会被返回.

Laravel提供了has方法来判定数据项是否存在:

if (Session::has('name'))
{
     $name = Session::get('name');
}

删除项目

你可以使用Session类的forget方法来删除Session中的项目:

Session::forget('name');

你可以使用flush方法来清空Session中的所有项目:

Session::flush();

重新生成

有时你可能想以"重新生成"的会话session ID. 这意味着一个新的, 随机的session ID将被分配到session中. 下面是例子:

Session::regenerate();