zoukankan      html  css  js  c++  java
  • Yii2 session的使用方法(1)

    yii2打开session
    
    use  yiiwebSession;
     
    $session = Yii::$app->session;
    // check if a session is already open
    if ($session->isActive) ...
    // open a session
    $session->open();
    // close a session
    $session->close();
    // destroys all data registered to a session.
    $session->destroy();
    
    设置session
    
    $session = Yii::$app->session;
    $session->set('user_id', '1234');
    //OR
    $session['user_id'] = '1234';
    //OR
    $_SESSION['user_id'] = '1234';
    
    读取session
    
    $session = Yii::$app->session;
    $user_id = $session->get('user_id');
    //OR
    $user_id = $session['user_id'];
    //OR
    $user_id = isset($_SESSION['user_id']) ? $_SESSION['user_id'] : null;
    销毁session
    $session = Yii::$app->session;
    $session->remove('user_id');
    //OR
    unset($session['user_id']);
    //OR
    unset($_SESSION['user_id']);
    
    数组session的读取与设置
    
    $session = Yii::$app->session;
    $session['user'] = [
        'id' => 1,
        'username' => 'yiiuser',
    ];
    echo $session['user']['id'];
    echo $session['user']['username'];
     
    $session['user.id'] = 1;
    $session['user.username'] = 'yiiuser';
    
    
    官网上的用法
    
    首先,在Yii框架中,你不需要像标准PHP代码那样使用session_start(),
    在 Yii 框架中,autoStart 属性缺省被设置为true,所以,
    虽然没有使用 session_start(),你仍然可以使用 $_SESSION 全局变量,但最好使用
    Yii框架封装的 Yii::app->session:
    
    设置session变量:Yii::app()->session['var']='value';
    使用: echo Yii::app()->session['var'];
    移除:unset(Yii::app()->session['var']);
    
    更为复杂一点的使用时如何配置你的session
    配置项可设在 protected/config/main.php的components中:
    
    'session'=>array(
       'autoStart'=>false(/true),
       'sessionName'=>'Site Access',
       'cookieMode'=>'only',
       'savePath'='/path/to/new/directory',
    ),
    
    将session保持在数据库的设置:
    
    'session' => array (
        'class' => 'system.web.CDbHttpSession',
        'connectionID' => 'db',
        'sessionTableName' => 'actual_table_name',
    ),
    
    好,还有什么呢?对了,为了调试,有时需要知道当前用户的session ID,
    该值就在 Yii::app()->session->sessionID 中。
    
    最后,当用户退出登录(logout),你需要消除痕迹,可使用:
    Yii::app()->session->clear() 移去所有session变量,然后,调用
    Yii::app()->session->destroy() 移去存储在服务器端的数据。
  • 相关阅读:
    leetcode(4) Median of Two Sorted Arrays
    logisitic回归
    共识算法 pos,Dpos
    solidity合约详解
    solidity中的memory和 storage详解
    win10下搭建私链
    区块链学习(7) 共识
    区块链学习(6)区块链
    区块链学习(5)比特币网络
    区块链学习(4)交易(二)
  • 原文地址:https://www.cnblogs.com/wuheng1991/p/7389559.html
Copyright © 2011-2022 走看看