laravel:使用session(10.27.0)

一,相关文档:

https://learnku.com/docs/laravel/10.x/session/14855

二,配置session

文件:config/session.php

'driver' => env('SESSION_DRIVER', 'file'),    //session驱动,默认为flie驱动
    'lifetime' => env('SESSION_LIFETIME', 120),      //生命周期,默认为120分钟
    'expire_on_close' => false,    //关闭浏览器是否自动删除session
    'encrypt' => false,    //存储的session数据是否需要加密
    'files' => storage_path('framework/sessions'),    //file驱动保存路径,默认为storage/framework/sessions/下
    'connection' => env('SESSION_CONNECTION', null),    //如果使用数据库驱动或者redis驱动时,连库管理session
    'table' => 'sessions',     //使用数据库驱动时,创建的session表名 
    'store' => env('SESSION_STORE', null),    //使用apc 或者memcached驱动的配置
    'lottery' => [2, 100],    //清除旧session
    'cookie' => env(    //cookie名称
        'SESSION_COOKIE',
        Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
    ),    
    'path' => '/',    //cookie
    'domain' => env('SESSION_DOMAIN', null),
    'secure' => env('SESSION_SECURE_COOKIE', false),
    'http_only' => true,    //将此值设置为true将阻止JavaScript访问cookie的值
    'same_site' => null,

三,php代码

controller中方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
 *获取session
 */
 public function sessionget(Request $request) {
 
     //全部数据
     $data = $request->session()->all();
     var_dump($data);
     if ($request->session()->has('name')) {
         $name = $request->session()->get('name');
         echo "<br/>name:".$name."<br/>";
     } else {
         echo "<br/>name不存在于会话中<br/>";
     }
     if ($request->session()->has('age')) {
         //用全局帮助方法 session
         $age = session('age');
         echo "<br/>age:".$age."<br/>";
     } else {
         echo "<br/>age不存在于会话中<br/>";
     }
 }
 
 /*
 *设置session
 */
 public function sessionset(Request $request) {
     $request->session()->put('name', '老刘');
     //用助手方法设置
     session(['age' => '88']);
     //查看全部
     $data = $request->session()->all();
     var_dump($data);
 }
 
 /*
 *删除session
 */
 public function sessiondel(Request $request) {
     //移称指定的
     $request->session()->forget('name');
     //查看效果
     $data = $request->session()->all();
     var_dump($data);
     //移除全部
     $request->session()->flush();
     //查看效果
     $data = $request->session()->all();
     var_dump($data);
 }

说明:刘宏缔的架构森林—专注it技术的博客,
网站:https://blog.imgtouch.com
原文: https://blog.imgtouch.com/index.php/2023/11/01/laravel-shi-yong-session-10-27/
代码: https://github.com/liuhongdi/ 或 https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: 371125307@qq.com

四,测试效果:

五,查看laravel框架的版本:

liuhongdi@lhdpc:/data/laravel/dignews$ php artisan --version
Laravel Framework 10.27.0
posted @ 2023-11-01 12:22  刘宏缔的架构森林  阅读(24)  评论(0编辑  收藏  举报