這篇文章給大家分享的是有關(guān)laravel中session的CURD操作示例的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
配置
session是保存在服務(wù)器上的,默認(rèn)的session是保存在服務(wù)器上的文件中。但該方法的效率不高,目前流行的是將session保存在redis或memcached第三方數(shù)據(jù)庫(kù)中。這些nosql的讀寫(xiě)效率非常高,并且更容易管理。下面,看laravel是如何配置session的
laravel的session配置文件是在config/session.php中。該配置文件中可以配置session存儲(chǔ)的方式,有效時(shí)間等。
需要配置存儲(chǔ)方式為redis,則需要修改driver配置項(xiàng),將其改為redis即可。除此之外,還支持本地存儲(chǔ)(默認(rèn))、關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)等。
獲取session值
首先來(lái)看如何獲取session值,通過(guò)響應(yīng)實(shí)例request的session方法即可獲取,演示代碼如下:
$request->session()->get('key');
get這個(gè)方法的第二個(gè)參數(shù)是用來(lái)設(shè)置默認(rèn)值的,如果么有獲取到對(duì)應(yīng)的session值,則返回默認(rèn)值,演示代碼如下:
$request->session()->get('key', 'default');
第二個(gè)參數(shù)也可以是一個(gè)回調(diào)函數(shù),通過(guò)回調(diào)函數(shù)返回一個(gè)默認(rèn)值
$request->session()->get('key', function () { return 'default'; });
除了上述的方法外,還可以通過(guò)全局的session函數(shù)來(lái)獲取,它們的用法是一致的。
還可以通過(guò)all方法來(lái)一次性獲取所有的session值,該方法返回一個(gè)數(shù)組:
$request->session()->all();
laravel還提供了一個(gè)方法來(lái)方便的判斷該session是否存在,使用has方法
if ($request->session()->has('key')) {}
另外還有一個(gè)exists方法,它與has的區(qū)別是has必須存在且不為空才返回真,而exists只要存在就返回真。
設(shè)置sesson值
設(shè)置session可以通過(guò)兩種方法,下面是演示代碼:
$request->session()->put('key', 'val'); session(['key1' => 'val1', 'key2' => 'val2']);
刪除session值
可以通過(guò)forget方法來(lái)刪除指定的session,還可以通過(guò)flush來(lái)刪除所以session。下面是演示代碼:
$request->session()->forget('k1'); $request->session()->forget(['k1', 'k2', 'k3']); $request->session()->flush();
感謝各位的閱讀!關(guān)于laravel中session的CURD操作示例就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!