yii2 session的使用方法


yii2打開session

use  yii\web\Session; $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() 移去存儲在服務器端的數據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM