1. 程式人生 > >Laravel 5.5 Session

Laravel 5.5 Session

Session

$value = $request->session()->get('key');

$value = $request->session()->get('key', 'default');

$value = $request->session()->get('key', function() {
    return 'default';
});
// 全域性 Session 輔助函式
    $value = session('key');  // 從session中獲取資料...

    $value = session('key', 'default');  // 指定預設值...
    
    session(['key' => 'value']);  // 儲存資料到session...
// 獲取所有 Session 資料
    $data = $request->session()->all();
// 判斷 Session 中是否存在指定項
    if ($request->session()->has('users')) {
        // has 方法可用於檢查資料項在 Session 中是否存在。如果存在並且不為 null 的話返回 true
    }
    
    if ($request->session()->exists('users')) {
        // 要判斷某個值在 Session 中是否存在,即使是 null 的話也無所謂,則可以使用 exists 方法。如果值存在的話 exists 返回 true
    }
// 儲存資料
    $request->session()->put('key', 'value');  //通過呼叫請求例項的 put 方法
    session(['key' => 'value']);  // 通過全域性輔助函式 session
    
    (推送資料到陣列 Session)
        $request->session()->push('user.teams', 'developers');
    
    (獲取&刪除資料)
        $value = $request->session()->pull('key', 'default');  // pull 方法將會通過一條語句從 Session 獲取並刪除資料

// 一次性資料
    $request->session()->flash('status', '登入Laravel學院成功!');
    
    $request->session()->reflash();

    $request->session()->keep(['username', 'email']);
// 刪除資料
    $request->session()->forget('key');  // 移除指定資料
    
    $request->session()->flush();  // 移除所有資料
// 重新生成 Session ID
    $request->session()->regenerate();