首页 > 其他 > 详细

8、Controller之Session

时间:2020-06-21 23:57:43      阅读:137      评论:0      收藏:0      [点我收藏+]

一、session默认配置目录:config / session.php

1、21行,默认使用 file 驱动。还支持"cookie", "database", "apc","memcached", "redis", "dynamodb", "array" 等驱动方式

2、34行,设置session有效期

3、88行,若使用数据库驱动,默认表为sessions

4、laravel中默认开启session start。App / Http / Kernel.php 34行

 

二、配置路由,需要用到session的,将其放到中间件里,如:

Route::group([‘middleware‘ => [‘web‘]] , function(){
    Route::any(‘/session1‘ , ‘XxxController@session1‘);
    Route::any(‘/session2‘ , ‘XxxController@session2‘);
});

 

二、使用session的三种方法

1、Http request类的session方法

先引入

use Illuminate\Http\Request;

 

存取session键值对

public function session1(Request $request){
    //存入键值对
    $request->session()->put(‘key1‘,‘value1‘);
}
public function session2(Request $request){
    //读取键值对
    echo $request->session()->get(‘key1‘);
    echo $request->session()->get(‘key1‘,‘default‘);//若key1不存在,则用default
}

 

2、session() 辅助函数

//session全局辅助函数
public function session1(){
    //存入键值对
    session([‘key‘ => ‘value‘]);
}
public function session2(){
    //读取键值对
    echo session(‘key‘);
    echo session(‘key‘, ‘default‘);//若key不存在,则用default
}

 

 

3、Session facade

 

三、检索 & 删除一条数据(request方法)

//检索 & 删除一条数据()
public function session1(Request $request){
    $request->session()->put(‘key‘,‘value‘);
}
public function session2(Request $request){
    echo $request->session()->pull(‘key‘, ‘default‘);
}

 

 

四、取出session所有的值(request方法)

//取出session所有的值
public function session1(Request $request){
    $request->session()->put(‘key1‘,‘value1‘);
    $request->session()->put(‘key2‘,‘value2‘);
}
public function session2(Request $request){
    dd($request->session()->all());
}

 

 

五、判断某个值是否存在,且不为null

if ($request->session()->has(‘users‘)) {
    //
}

 

 

六、判断某个值是否存在,可以为null

if ($request->session()->exists(‘users‘)) {
    //
}

 

 

七、删除session的值(request方法)

// 删除单个值...
$request->session()->forget(‘key‘);

// 删除多个值...
$request->session()->forget([‘key1‘, ‘key2‘]);

//全删
$request->session()->flush();

 

 

八、闪存数据(request方法)

第一次访问存在,第二次访问就消失

//闪存数据
public function session1(Request $request){
    $request->session()->flash(‘key‘, ‘value‘);
}
public function session2(Request $request){
    echo $request->session()->get(‘key‘);
}

 

8、Controller之Session

原文:https://www.cnblogs.com/mingliangge/p/13174528.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!