laravel中的session的CURD操作

发布时间 - 2020-12-16 00:00:00    点击率:

http协议是无状态的,所以有了cookie和session技术,它们之间配合来维护一个状态。在laravel中设置及获取session是非常方便的。下面,我们一起来看看吧。

配置

session是保存在服务器上的,默认的session是保存在服务器上的文件中。但该方法的效率不高,目前流行的是将session保存在redis或memcached第三方数据库中。这些nosql的读写效率非常高,并且更容易管理。下面,看laravel是如何配置session的

laravel的session配置文件是在config/session.php中。该配置文件中可以配置session存储的方式,有效时间等。

需要配置存储方式为redis,则需要修改driver配置项,将其改为redis即可。除此之外,还支持本地存储(默认)、关系型数据库存储等。

获取session值

首先来看如何获取session值,通过响应实例request的session方法即可获取,演示代码如下:

$request->session()->get('key');

get这个方法的第二个参数是用来设置默认值的,如果么有获取到对应的session值,则返回默认值,演示代码如下:

$request->session()->get('key', 'default');

第二个参数也可以是一个回调函数,通过回调函数返回一个默认值

$request->session()->get('key', function ()
{
      return 'default';
 });

除了上述的方法外,还可以通过全局的session函数来获取,它们的用法是一致的。

还可以通过all方法来一次性获取所有的session值,该方法返回一个数组:

$request->session()->all();

laravel还提供了一个方法来方便的判断该session是否存在,使用has方法

if ($request->session()->has('key')) {}

另外还有一个exists方法,它与has的区别是has必须存在且不为空才返回真,而exists只要存在就返回真。

设置sesson值

设置session可以通过两种方法,下面是演示代码:

$request->session()->put('key', 'val');
session(['key1' => 'val1', 'key2' => 'val2']);

删除session值

可以通过forget方法来删除指定的session,还可以通过flush来删除所以session。下面是演示代码:

$request->session()->forget('k1');
$request->session()->forget(['k1', 'k2', 'k3']);
$request->session()->flush();

相关推荐:《laravel教程》


# laravel  # 还可以  # 方法来  # 默认值  # 可以通过  # 第二个  # 回调  # 配置文件  # 的是  # 是一个  # 器上 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 网站建设整体流程解析,建站其实很容易!  如何在云主机上快速搭建多站点网站?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Laravel Fortify是什么,和Jetstream有什么关系  LinuxShell函数封装方法_脚本复用设计思路【教程】  如何在不使用负向后查找的情况下匹配特定条件前的换行符  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Swift中循环语句中的转移语句 break 和 continue  Laravel如何配置任务调度?(Cron Job示例)  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Laravel如何配置和使用缓存?(Redis代码示例)  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Python3.6正式版新特性预览  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  简单实现Android验证码  PythonWeb开发入门教程_Flask快速构建Web应用  JavaScript如何实现音频处理_Web Audio API如何工作?  做企业网站制作流程,企业网站制作基本流程有哪些?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  个人网站制作流程图片大全,个人网站如何注销?  重庆市网站制作公司,重庆招聘网站哪个好?  Laravel如何使用.env文件管理环境变量?(最佳实践)  如何确认建站备案号应放置的具体位置?  Laravel如何使用Blade组件和插槽?(Component代码示例)  Bootstrap整体框架之CSS12栅格系统  高端网站建设与定制开发一站式解决方案 中企动力  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  香港网站服务器数量如何影响SEO优化效果?  中山网站制作网页,中山新生登记系统登记流程?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  高防服务器租用指南:配置选择与快速部署攻略  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  5种Android数据存储方式汇总  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何用5美元大硬盘VPS安全高效搭建个人网站?  LinuxCD持续部署教程_自动发布与回滚机制  高端云建站费用究竟需要多少预算?  如何在腾讯云服务器上快速搭建个人网站?  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  网站建设要注意的标准 促进网站用户好感度!  大连网站制作公司哪家好一点,大连买房网站哪个好?  Laravel如何处理文件下载请求?(Response示例)  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  公司网站制作价格怎么算,公司办个官网需要多少钱?