Laravel中Session的使用


以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,即沒有調用非靜態的變量/方法,當然,調用靜態的變量/方法沒有問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM