没有不值得去解决的问题,也没有不值得去学习的技术!

在 Laravel 6 中,将 session 实现替换为对应的 cookie 实现

测试功能,符合预期,在跳转后的网页的 Cookie 中已经存在新设置的 Key
1、在程序中,是否为预览模式,是基于 session 实现的。但是当用户退出登录时,也会自动退出预览模式。如图1
在程序中,是否为预览模式,是基于 session 实现的。但是当用户退出登录时,也会自动退出预览模式
图1
2、退出预览模式的表现便是页面底部的预览横幅已经消失。如图2
退出预览模式的表现便是页面底部的预览横幅已经消失
图2
3、参考:Session 重新生成 Session ID ,如果你使用了内置函数 LoginController,Laravel 会自动重新生成身份认证中的 Session ID。最终决定替换为对应的 cookie 实现 4、替换的代码实现依次如下


// $request->session()->forget(XxxService::THEME_PREVIEW_ID);
Cookie::queue(Cookie::forget(XxxService::THEME_PREVIEW_ID));
// $request->session()->put(XxxService::THEME_PREVIEW_NAME, $themePreviewName);
Cookie::queue(Cookie::make(XxxService::THEME_PREVIEW_NAME, $themePreviewName));

// $request->session()->forget([XxxService::THEME_PREVIEW_ID, XxxService::THEME_PREVIEW_NAME]);
Cookie::queue(Cookie::forget(XxxService::THEME_PREVIEW_ID));
Cookie::queue(Cookie::forget(XxxService::THEME_PREVIEW_NAME));

$request->session()->has(XxxService::THEME_PREVIEW_NAME);
Cookie::has(XxxService::THEME_PREVIEW_NAME);

$request->session()->get(XxxService::THEME_PREVIEW_NAME);
Cookie::get(XxxService::THEME_PREVIEW_NAME);


5、测试功能,符合预期,在跳转后的网页的 Cookie 中已经存在新设置的 Key。如图3
测试功能,符合预期,在跳转后的网页的 Cookie 中已经存在新设置的 Key
图3

PHP / Laravel / Yii2 老项目维护与长期技术支持

如果你的 PHP / Laravel / Yii2 项目已经上线,但遇到原开发离职、Bug 长期无人修复、接口不稳定、性能下降、代码难以接手等问题,可以联系我做一次远程技术排查。

适合以下情况:
✅ 老旧 PHP 系统无人维护
✅ Laravel / Yii2 项目 Bug 修复
✅ 后台管理系统小功能迭代
✅ RESTful API 接口排查
✅ MySQL / Redis / Nginx 性能问题
✅ 长期远程兼职维护

可先从一次小问题开始:
✅ 线上报错排查
✅ 接口异常分析
✅ 慢查询与性能瓶颈定位
✅ 代码结构初步评估
✅ 部署环境与日志检查

如需咨询,请联系我,并注明:PHP 维护咨询

联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理