成都网站建设设计

将想法与焦点和您一起共享

Yii2——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 functioncoreComponents()
 {
    returnarray_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类。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:Yii2——session-创新互联
网页链接:http://chengdu.cdxwcx.cn/article/djjppo.html