您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關laravel中session的CURD操作示例的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
配置
session是保存在服務器上的,默認的session是保存在服務器上的文件中。但該方法的效率不高,目前流行的是將session保存在redis或memcached第三方數據庫中。這些nosql的讀寫效率非常高,并且更容易管理。下面,看laravel是如何配置session的
laravel的session配置文件是在config/session.php中。該配置文件中可以配置session存儲的方式,有效時間等。
需要配置存儲方式為redis,則需要修改driver配置項,將其改為redis即可。除此之外,還支持本地存儲(默認)、關系型數據庫存儲等。
獲取session值
首先來看如何獲取session值,通過響應實例request的session方法即可獲取,演示代碼如下:
$request->session()->get('key');
get這個方法的第二個參數是用來設置默認值的,如果么有獲取到對應的session值,則返回默認值,演示代碼如下:
$request->session()->get('key', 'default');
第二個參數也可以是一個回調函數,通過回調函數返回一個默認值
$request->session()->get('key', function () { return 'default'; });
除了上述的方法外,還可以通過全局的session函數來獲取,它們的用法是一致的。
還可以通過all方法來一次性獲取所有的session值,該方法返回一個數組:
$request->session()->all();
laravel還提供了一個方法來方便的判斷該session是否存在,使用has方法
if ($request->session()->has('key')) {}
另外還有一個exists方法,它與has的區別是has必須存在且不為空才返回真,而exists只要存在就返回真。
設置sesson值
設置session可以通過兩種方法,下面是演示代碼:
$request->session()->put('key', 'val'); session(['key1' => 'val1', 'key2' => 'val2']);
刪除session值
可以通過forget方法來刪除指定的session,還可以通過flush來刪除所以session。下面是演示代碼:
$request->session()->forget('k1'); $request->session()->forget(['k1', 'k2', 'k3']); $request->session()->flush();
感謝各位的閱讀!關于laravel中session的CURD操作示例就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。