Yii 2 —— session

简介:

1.1  session

Web应用中,session的重要性毋庸置疑。Yii 2中,使用Session类来管理session

1.1.1  session数据加载

当用户登录以后,Yii 2会调用到web\User->renewAuthStatus(),在这里调用到session->get()函数时,在session->get()函数内部调用了Session->open(),将session数据加载进来。

1.1.2  session存储

Yii 2默认使用php.ini中的配置参数:

session.save_handler = files

;session.save_path = "/tmp"

 

也就是说默认将session信息保存到文件,如果php.ini中没有设置session.save_path的话,默认存储路径就是“C:\Users\当前用户\AppData\Local\Temp”。

1.1.3  自定义session存储方式

有些系统为了更好的管理session数据,会将其保存到数据库里,则可以通过继承Session类,并进行如下处理:

1、在子类的getUseCustomStorage()返回true,表示使用自定义存储方式;

2、在子类实现如下接口:openSession(),closeSession(), readSession(), writeSession(), destroySession() and gcSession()

这些接口的含义很清楚,一看函数名就知道了。

1.1.4  Session类配置

默认$app->session所指向的Session类实例,是在web\Application.php中的coreComponents()函数配置的:

public function coreComponents()
 {
     
return array_merge(parent::coreComponents()[
         
'request' => ['class' => 'yii\web\Request'],
         
'response' => ['class' => 'yii\web\Response'],
         
'session' => ['class' =>  'yii\web\Session'],
         
'user' => ['class' => 'yii\web\User'],
         
'errorHandler' => ['class' => 'yii\web\ErrorHandler'],
     
]);
 
}

 

如果想用自己的Session类,则可在main.php中的components节点下,参考上述代码配置自己的session类。






本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/1873244,如需转载请自行联系原作者

目录
相关文章
|
11月前
|
存储 JavaScript 前端开发
|
11月前
|
Python
|
缓存 安全 数据处理
Yii2相对于Yii1有哪些改进?
Yii2相对于Yii1有哪些改进?
|
Oracle 关系型数据库 MySQL
Yii2的基本要求是什么?
Yii2的基本要求是什么?
128 0
|
缓存 开发框架 安全
Yii2是什么?
Yii2是什么?
262 0
|
JSON 前端开发 NoSQL
Laravel表单篇-Request、Session、Response、Middleware
Laravel表单篇-Request、Session、Response、Middleware
112 0
Laravel表单篇-Request、Session、Response、Middleware
|
存储 移动开发 前端开发
Yii2框架(四)Seesion及cookie操作
服务器存储session就是基于浏览器的cookie实现的,后端存储session,生成sessionid传递给前端,存储在cookie中,因此如果浏览器禁用cookie,那么session可能就不好用了。 cookie在开发中也是可以存储一些我们常用的值,当然,html5增加了两个新的属性吧,sessionstorge以及localstorge,其二者原理和session相同,只是声明周期和存储机制不太相同。
192 0
Yii2框架(四)Seesion及cookie操作
|
Web App开发 存储 缓存
第20天,Cookie与Session、Django的用户认证、事务
目录 一、Cookie与Session 1.1 概念 1.2 Django实现的cookie 1.2.1 获取Cookie 1.
2299 0