Yii之session

2024-05-03 13:32
文章标签 session yii

本文主要是介绍Yii之session,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

这里只是简单讲一下用法,如果想更详细的了解,去看 官方手册 比较好。

和请求和响应类似, 默认可通过为yii\web\Session 实例的session 应用组件 来访问sessions。

利用Yii操作session
// 首先,加载session组件
$session = Yii::$app->session();// 检查session是否开启
if($session->isActive){// session已经打开
}// 开启session
$session->open();// 设置name的session值为张三
$session->set('name','张三');
// 跟以下语句效果相同
$_SESSION['name'] = '张三';// 获取session中name的值
$session->get('name','my');
// 获取时,会自动打开session,无需手动。而且如果name值不存在时,会默认输出'my'// 移除session中的name变量
$session->remove('name');// 移除全部的session变量
$session->removeAll();// 查看session是否存在name变量
$session->has('name');// 关闭session
$session->close();// 销毁session中所有已经注册的数据
$session->destroy();
Flash 数据
简单介绍

Flash数据是一种特别的session数据,它一旦在某个请求中设置后, 只会在下次请求中有效,然后该数据就会自动被删除。 常用于实现只需显示给终端用户一次的信息, 如用户提交一个表单后显示确认信息。

实现方式
// 首先,加载session组件
$session = Yii::$app->session();// 设置名为'success' flash 信息
$session->setFlash('success','This is success!');// 获取并显示'success' flash 信息
echo $session->getFlash('success');// 查看'success' flash 信息是否存在
if($session->hasFlash('success')){// 存在,判断后,自动删除
}// 获取所有的 flash 信息
$data = $session->getAllFlashes();// 移除 'success' flash 信息
$session->removeFlash('success');// 移除所有的 flash 信息
$session->removeAllFlash();
// 首先,加载session组件
$session = Yii::$app->session();// 设置名为'success' flash 信息
$session->setFlash('success','This is success!');// 在名称为"success"的flash信息增加数据
$session->addFlash('success','I love you!');
$session->addFlash('success','I miss you!');
$session->addFlash('success','I want you!');// 获取并显示'success' flash 信息
$data = $session->getFlash('success');
var_dump($data); 
/* 会以数组的方式呈现
array(4) { [0]=> string(16) "This is success!" [1]=> string(11) "I love you!" [2]=> string(11) "I miss you!" [3]=> string(11) "I want you!" 
}*/

这篇关于Yii之session的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/956862

相关文章

Yii框架relations的使用

通过在 relations() 中声明这些相关对象,我们就可以利用强大的 Relational ActiveRecord (RAR) 功能来访问资讯的相关对象,例如它的作者和评论。不需要自己写复杂的 SQL JOIN 语句。 前提条件 在组织数据库时,需要使用主键与外键约束才能使用ActiveReocrd的关系操作; 场景 申明关系 两张表之间的关系无非三种:一对多;一对一;多对多; 在

SIGMOD-24概览Part7: Industry Session (Graph Data Management)

👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance 🏛机构:字节 ➡️领域: Information systems → Data management systemsStorage management 📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据 背景

flask-login 生成 cookie,session

flask-login 生成 cookie,session Flask-Login login_user() 显示来自 Set-Cookie 标头的加密 cookie # 模拟一个用户类class User(UserMixin):def __init__(self, id):self.id = id@app.route('/login')def login():# 模拟用户登录过程user

Session用法详解

本文引用http://www.accdb.net/article.asp?id=1115 阅读本文章之前的准备   阅读本文章前,需要读者对以下知识有所了解。否则,阅读过程中会在相应的内容上遇到不同程度的问题。   懂得ASP/ASP.NET编程    了解ASP/ASP.NET的Session模型    了解ASP.NET Web应用程序模型    了解ASP.N

报错:Reached the max session limit(DM8 达梦数据库)

报错:Reached the max session limit - - DM8 达梦数据库 1 环境介绍2 数据库启动SYSTEM IS READY后面日志3 数据库刚启动日志4 达梦数据库学习使用列表 1 环境介绍 某项目无法连接数据库,报错:超过最大会话数限制 , 检查 dmdba ulimit -a openfiles 已改检查 dm.ini 其中 MAX_SESSION

Requests库对session的支持

场景:如何获取登录时响应消息中的sessionid,以及如何在后续请求中把sessionid添到cookie中 Requests库提供了一个Session类,通过requests库中的session对象,requests库会自动帮我们保存服务端返回的cookie数据(set-cookie里的内容),也会在HTTP发出请求时自动在消息头中放入cookie数据。 用py模拟客户端接收响应消息:

Flask-Session扩展,使用Redis存储会话数据

深入理解Flask-session扩展Redis Flask 应用中使用 flask-session 扩展将 session 数据存储在 Redis 中是一种高效且可扩展的方法,特别是在需要处理大量用户或需要分布式部署的应用中。以下是如何在 Flask 应用中配置 flask-session 以使用 Redis 存储 session 的步骤: 1. 安装必要的库 首先,你需要安装 Flask

浏览器百科:网页存储篇-Session storage应用实例(九)

1.引言 在前面的文章中,我们详细介绍了如何在 Chrome 浏览器中打开并使用 Session storage 窗格,进行数据的查看、编辑和管理。作为网页存储技术的重要组成部分,sessionStorage在提升用户体验和数据管理能力方面发挥了重要作用。在本篇《浏览器百科:网页存储篇-Session storage应用实例(九)》中,我们将深入探讨sessionStorage的实际应用场景,通

springboot 联合redis实现session共享springsession (springMVC的在上一篇) [二〇一八年十一月十四日]]

1创建springboot工程: 这个就不bb了, 不过我只能用main方法跑, 用tomcat跑回报一个redis的getConfig异常, 不管了 2引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-redis</artifactId><version>1.

spring 配置spring-session+redis共享 涉及nginx+redis知识 (二〇一八年十一月十二日 )

前提: 单实例的工程下, session是一个非常好用的对象, 因为session属于服务器端, 而且对于用户(浏览器)来说是唯一的 但是针对集群(今天大拿跟我说了下集群和分布式的概念)来说的话, session共享就变得极其重要,因为session是属于服务器端的, 服务器A有session, 但是服务器B拿session是拿不到的 废话不多说, 开始上代码. 总共分三步: 第一步: 首先