溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Yii 2 —— session

發布時間:2020-08-04 08:57:45 來源:網絡 閱讀:783 作者:tywali 欄目:開發技術

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類。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

yii
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女