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,即没有调用非静态的变量/方法,当然,调用静态的变量/方法没有问题。

猜你喜欢

转载自www.cnblogs.com/piaobodewu/p/10012893.html