Laravel中Session的使用
阿新 • • 發佈:2018-11-24
以file為示例
1、Http request session方法
$request->session()->put('key1','value1');
echo $request->session()->get('key1');
2、session的輔助函式
session()->put('key2','val2');
echo session('key2');
3、通過session類
Session::put('key3','val33');
echo Session::get('key3');
echo Session::get('key4','我是預設val');
4、陣列方法存入session
Session::put(['key5'=>'value555']);
echo Session::get('key5');
5、往session中存入陣列
Session::push('key6','dd');
Session::push('key6','ff');
$res = Session::get('key6');
var_dump($res);
6、獲取後刪除session中的資料
Session::pull('key6');
7、取出所有的值
$res = Session::all();
var_dump($res);
8、session某個key是否存在
$res = Session::has('key2');
echo $res;
9、刪除session中的資料
Session::forget('key6');
10、刪除所有Session
Session::flush();
11、暫存。首次訪問存在,下次不存在
Session::flash('key-flash','vvv-val-flash');
echo Session::get('key-flash');
注意上面使用了訪問php類的靜態方法,用法
1、static定義
2、laravel用雙冒號使用
大致介紹下什麼是訪問php類的靜態方法
在php中,訪問類的方法/變數有兩種方法:
1. 建立物件$object = new Class(),然後使用"->"呼叫:$object->attribute/function,前提是該變數/方法可訪問。
2. 直接呼叫類方法/變數:class::attribute/function,無論是靜態/非靜態都可以。但是有前提條件:
A. 如果是變數,需要該變數可訪問。
B. 如果是方法,除了該方法可訪問外,還需要滿足:
b1) 如果是靜態方法,沒有特殊條件;
b2) 如果是非靜態方法,需要改方法中沒有使用$this,即沒有呼叫非靜態的變數/方法,當然,呼叫靜態的變數/方法沒有問題。