在Laravel中设置会话变量

时间:2015-12-28 05:37:23

标签: php laravel laravel-5

在vanilla PHP中,我可以使用以下代码设置会话变量;

$_SESSION['blog'] = array(
    "email" => $_POST['email'],
    "password" => $password,
    "firstname" => $row ['firstName'],
    "lastname" => $row ['lastName'],
    "id" => $row ['id']
);

我如何在laravel中执行相同的操作。 仅供参考我不是在谈论默认会话名称,例如PHPSESSIDlaravel_session。我的网站部分有多个会话变量,例如webblog,'职业',我将它们命名为上面的代码,并且能够单独检查和访问它们。因此,一个用户可以同时拥有所有三个会话变量,但是对于站点的不同部分。

2 个答案:

答案 0 :(得分:4)

你可以采取一种方式:

$vars = [
    "email" => $email,
    "password" => $password,
    "firstname" => $row['firstName'],
    "lastname" => $row['lastName'],
    "id" => $row['id']
];

session()->put('blog', $vars);

Laravel Docs - Session

更新:检查是否存在会话变量:

session()->has('blog'); // bool

更新:要获取会话变量中包含的元素'博客'

session('blog.id'); // using the dot notation

答案 1 :(得分:0)

//Place the array in a variable
$session_array = array(
                "email" => $_POST['email'],
                "password" => $password,
                "firstname" => $row ['firstName'],
                "lastname" => $row ['lastName'],
                "id" => $row ['id']
                );


//Place that $session_array inside the session using \Session::put('key','value')
\Session::put('blog',$session_array);

// To access the session value
print_r(\Session::get('blog'));